Posted on Leave a comment

How to convert a non-WWW WordPress site to WWW

UPDATE (Jun 6, 2019): Converting this site from non-WWW to WWW created a significant caching issue with WP-Rocket.

Namely, WP-Rocket had created a cached version of the non-WWW homepage, and this version remained inside the /wp-content/cache/ directory even after the conversion. This version continued to exist despite clearing the cache from the WP-Rocket settings.

Since the non-WWW cached version of the homepage referenced non-WWW images, it displayed blank areas instead of WWW images.

It was this cached version that Googlebot continued to crawl, and for several months Google displayed this outdated & faulty version in its index. (ie: Google continued to index the non-WWW homepage version instead of the WWW version, its cached version did not display any images, and styles for the social media buttons were broken for mobile phones.)

Deleting old cache files & folders from the /wp-content/cache/ folder on the server solved this problem immediately.


UPDATE (Dec 30, 2018): This site’s SEO took a big hit following the conversion from non-WWW to WWW. Therefore, conversion to WWW is not recommended unless absolutely required for using a content delivery network.


Ancient Greek Keyboard’s original domain URL was https://www.ancientgreekkeyboard.com, but was recently changed to https://www.ancientgreekkeyboard.com.

While using WWW in the domain name is said to result in slight improvements in site speed, security and scalability, the main reason for the change was so that a content delivery network could be used in the future (CDNs typically require sites to use WWW in their domain names).

The following procedure was used in converting this WordPress site from non-WWW to WWW:

  1. Use the Duplicator plugin to create a backup of the current site.
  2. Download the backup created by Duplicator to the local computer (and download the corresponding INSTALLER.PHP file as well).
  3. Download the current HTACCESS file at the root of the WordPress installation using Filezilla. Save a copy in a secure location on the local computer.
  4. Comment out all HTTPS redirection code in the HTACCESS file.
  5. Upload the edited HTACCESS file back to the root of the WordPress installation on the server.
  6. Download the WP-CONFIG.PHP file from the root of the WordPress installation on the server.
  7. Comment out:
    define('WP_HOME', 'https://www.ancientgreekkeyboard.com');
    and:
    define('WP_SITEURL', 'https://www.ancientgreekkeyboard.com');
    (If these statements are nowhere to be found in WP-CONFIG.PHP, then ignore this step.)
  8. Save WP-CONFIG.PHP file & upload it to the root of the WordPress installation on the server. (If the previous step was skipped, this step can be skipped as well.)
  9. On the WordPress administration page, go to: Settings > General.
  10. WordPress Address (URL) set to https://www.ancientgreekkeyboard.com.
  11. Site Address (URL) set to https://www.ancientgreekkeyboard.com
  12. Click the Save button.
  13. Automatically logged out of the WordPress administration page.
  14. Log back into the WordPress administration page.
  15. Check Settings > Permalinks to verify all permalinks include WWW. (They did.)
  16. Add & activate the Velvet Blues Update URLs plugin.
  17. Click the Update URLs link on the WordPress administration plugin page.
  18. Input Old URL: https://www.ancientgreekkeyboard.com
  19. Input New URL: https://www.ancientgreekkeyboard.com
  20. Click all checkboxes for updating URLs (except GUIDs).
  21. Click the Update URLs NOW button.
  22. Velvet Blues updated 131 content items, 19 attachments, and 34 custom fields.
  23. Also used Velvet Blues to update from HTTP to HTTP://WWW (ie: from https://www.ancientgreekkeyboard.com to https://www.ancientgreekkeyboard.com.) Two content items were thus updated. (This was unexpected, since I believed there were no HTTP URLs residing on the site.)
  24. Deactivate the Velvet Blues Update URLs plugin.
  25. Change WP-CONFIG.PHP to reflect the new WWW domain name:
    define('WP_HOME', 'https://www.ancientgreekkeyboard.com');
    define('WP_SITEURL', 'https://www.ancientgreekkeyboard.com');
  26. Change the salts in WP-CONFIG.PHP.
  27. Upload WP-CONFIG.PHP to the root directory of the WordPress installation.
  28. Automatically logged out of the WordPress administration panel.
  29. Log back into the WordPress administration page.
  30. Change the HTACCESS code in the root of the WordPress installation to automatically redirect URLs to HTTPS://WWW.
    ### First rewrite any request to the wrong domain to use the correct one (here www.)
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    ### Now, rewrite to HTTPS:
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  31. Update URL addresses in HTACCESS to refer to WWW.
  32. Save HTACCESS & upload to root directory of the WordPress Installation on the server.
  33. In the Child Theme folder, find the STYLE.CSS, STYLE-LOGIN.CSS, and FUNCTIONS.PHP files and change all references from non-WWW to WWW. (NOTE: If the latter two files don’t exist, then just update the STYLE.CSS file.)
  34. Save these three files & upload them to the Child Theme folder on the server. (Again, don’t bother with STYLE-LOGIN.CSS and /or FUNCTIONS.PHP if they don’t exist!)
  35. Check a few images in the Media Library to verify that the images now have the correct WWW URL.
  36. Check a few Pages & Posts that they have WWW URLs.
  37. If using a shopping cart plugin, go to the settings & change all URLs to include WWW.
  38. Change all URLs to WWW in whatever SEO plugin is being used.
  39. The Guest custom avatar was somehow reset to default settings during the entire process. Go to Settings > Discussion to set it correctly again.
  40. Clear the WP-Rocket cache (or the cache for whatever caching plugin you’re using, if any).
  41. On Google Webmaster Tools, delete the current non-WWW property. Add a new WWW property, verify it, and add a sitemap.
  42. Repeated the previous step for Bing Webmaster Tools.
  43. Updated references to WWW in the ROBOTS.TXT file, and uploaded to the server.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Week 6

WordPress Caching Plugin Changed, Rich Snippets Added, Styling

1) The Swift Performance Lite caching plugin was found to clutter the statistics on the security plugin. In its stead, the W3 Total Cache plugin is now being used (with CSS minification turned off).

2) Tried to set up rich snippets to increase click-through rates.

Initially used the All In One Schema Rich Snippets plugin to do this, but the generated HTML failed Google’s validation test. This was because Ancient Greek Keyboard has no product review plugin set up, which is something that All In One Schema Rich Snippets seems to require. (All In One Schema Rich Snippets does not permit the administrator to turn reviews off, either.)

So instead, the structured data markup was done semi-manually on the landing page in the following manner:

First, an online microdata generator was used to generate most of the base code for a product and product offer (ie: for the product’s name, image, description, sku #, price currency, price and condition).

Second, structured data was manually written for product availability in accordance with Schema.org’s documentation.

At this point, structured data was also manually written for the product’s sku # as part of the product (rather than the product offer) for purposes of style.

Finally, this code was validated on Google’s Structured Data Testing Tool. When it passed, it was adapted to the current HTML for the first product listing on the landing page.

(Just to be safe, the final code was validated as well).

3) Adjusted font sizes on Archive & Category pages.


Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Week 4

Social Media Buttons Added, WordPress Styling

  1. Added social media share buttons & Facebook Like button.
  2. Set Social Meta settings on All-In-One SEO Pack plugin.
  3. Adjusted font sizes on H2 & H3 tags for blog & archive pages for Ancient Greek Keyboard.
  4. Product image finally indexed by Google (as were a couple key photos). Gravatar was indexed a few weeks earlier.
  5. Set CSS to not display social media buttons on Checkout, Cancelled Transaction and Thank You pages.
  6. Used FUNCTIONS.PHP & STYLE-LOGIN.CSS to customize styles on login page.
  7. Deleted the Custom Login Page Customizer plugin (since login page is being customized via FUNCTIONS.PHP).

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Week 3

Further WordPress SEO Setup, Styling

  1. More settings completed on All-In-One SEO Pack plugin.
  2. Left margin changed on blog entry lists.
  3. Added Greek meander divider to Category, Archive & Author pages on Ancient Greek Keyboard.
  4. Hid some widgets on Category, Archive & Author pages.
  5. Changed text on Add To Cart button (to Buy Product).

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Week 2

WordPress SEO Plugin Changed, Fixed Bingbot Blocking Error, Styling For Handheld

  1. Changed file permissions on WP-CONFIG.PHP.
  2. Deleted Yoast SEO plugin & installed All-In-One SEO Pack plugin. The reason for the change was that the creators have crippled the latest version of Yoast SEO — it no longer allows the site owner to NOINDEX specific pages in its XML sitemap. Since the Cancelled Transaction, Checkout, and Thank You pages should not be indexed, Yoast SEO was unsuitable for this site’s needs.
  3. Monitored page indexing on Google. Indexed pages reached 7 on the first evening, then fell to 2 a couple of days later (probably due to delayed propagation across Google’s servers). As of today, the number of indexed pages was 8.
  4. Plugin mistakenly was blocking Bingbot. Contacted plugin support & problem was resolved.
  5. Submenus on handheld devices were not displaying due to theme update. Was unable to use CSS to target the issue. Therefore, created a second menu for use on handheld devices only.
  6. Floated the hamburger menu on handheld to the left.
  7. Media attachment pages on Ancient Greek Keyboard were being indexed by Google, which is apparently bad for SEO. Changed Media Attachment settings in All-In-One SEO plugin, then set up redirects for media attachments with code in Child Theme > FUNCTIONS.PHP.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Day 8 (Site brought live)

WordPress Site Brought Live, SEO Plugins Activated & Set Up, Styling

  1. Deactivated the Coming Soon plugin.
  2. Set ROBOTS.TXT to allow search engine indexing (ie: Unchecked “Discourage search engines from indexing this site” in settings.)
  3. Activated Yoast SEO plugin.
  4. Set XML sitemap to not index Cancelled Transaction, Checkout, and Thank You pages. (Really? This setting page could not be found in the plugin’s administration area a few days later!)
  5. Added site to Google Webmaster Tools. Uploaded verification file, verified & submitted Yoast-generated XML sitemaps.
  6. Activated statistics plugin on Ancient Greek Keyboard.
  7. Edited styles to center text on 404 Error pages.
  8. Edited styles to change button color to navy.
  9. Within 3-4 hours of adding the site to Webmaster tools, 5 pages had already appeared on Google’s search engine.
  10. Added meta descriptions to a few indexed pages.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Day 7

WordPress Security, Limits On Number Of Post Revisions

  1. Site security work.
  2. WP-CONFIG.PHP edited to limit number of page & post revisions to 5 (in order to keep the database to a reasonable size).
  3. Removed HTACCESS rule preventing others from viewing Ancient Greek Keyboard site. (Although at this point, all they could see was the Coming Soon page.)
  4. Researched sFTP.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW
Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Day 6

Final WordPress Shopping Cart Adjustments

  1. Set real product prices & shipping costs on all “Add To Cart” buttons.
  2. Tested all “Add to Cart” buttons on Ancient Greek Keyboard site.
  3. Deleted first WP automatic blog post.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW

Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Day 5

WordPress Styling & Site Security

  1. Minor styling on sidebar widget spacing.
  2. New transparent favicon with Theano Didot font created & uploaded.
  3. Created Ancient Greek Keyboard site image for use on PayPal’s site before & after checkout. PayPal allows this image to be 480 px wide X 90 px high. Some confusion here because PayPal allows the merchant to upload a logo image, but this is only viewable by the merchant when logged into PayPal.

    However, for a logo viewable by customers during checkout, the image must be uploaded to the Media Library & its URL must be added to one of the settings in the shopping cart plugin. (NOTE: PayPal will only display a customized site image if it’s served from an HTTPS site)

  4. Additional security with HTACCESS.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW

Posted on Leave a comment

Manual eCommerce Site Setup On SiteGround: Day 4

Setup For PayPal, Favicons, Apple Touch Icons

  1. Previous day’s blunder: Forgot to add a # sign in the CSS when targeting a CSS ID for one of the sidebar widgets, and erroneously attributed the failure to change the widget’s style to the host’s caching system.
  2. Changed most business information on PayPal business account to that of ancientgreekkeyboard.com.
  3. Revised product title on all shopping cart buttons.
  4. First test purchase.
  5. Gravatar created on new WordPress.com account.
  6. Created new administrator with new gravatar & site email.
  7. Fixed widget style for Single Blog Posts (ie: product listing and cart should appear under the blog navigation in the sidebar).
  8. Created favicon. Site logo is too detailed to see on a 16 px X 16 px image, so used π (for παλαιός: old, ancient). Experienced a little trouble finding a site that converts PNG favicons to ICO. Must explicitly ask Google to search for this.
  9. Apple touch icons created, uploaded and HTACCESS code added.
  10. Screenshot of site with Child Theme styles enabled & added to the Child Theme folder.

Other posts in this series:

  1. Manual eCommerce Site Setup On SiteGround: Day 1
  2. Manual eCommerce Site Setup On SiteGround: Day 2
  3. Manual eCommerce Site Setup On SiteGround: Day 3
  4. Manual eCommerce Site Setup On SiteGround: Day 4
  5. Manual eCommerce Site Setup On SiteGround: Day 5
  6. Manual eCommerce Site Setup On SiteGround: Day 6
  7. Manual eCommerce Site Setup On SiteGround: Day 7
  8. Manual eCommerce Site Setup On SiteGround: Day 8: (Site brought live)
  9. Manual eCommerce Site Setup On SiteGround: Week 2
  10. Manual eCommerce Site Setup On SiteGround: Week 3
  11. Manual eCommerce Site Setup On SiteGround: Week 4
  12. Week 5: Speed optimization tests
  13. Manual eCommerce Site Setup On SiteGround: Week 6
  14. How to convert a non-WWW WordPress site to WWW