From 2788298b3eb5a61ff7eaf78b71601a452be76910 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Sun, 25 Feb 2024 08:32:13 -0500 Subject: [PATCH] more 2.0 plus seo content --- CONTRIBUTING.md | 14 +- content/dev/code/template_settings.md | 4 +- content/release/whatsnew_2.0.0.html | 3 + .../customizing/site_specific_overrides.md | 3 + content/user/miscellaneous/can_zen_cart.md | 2 +- content/user/running/traffic.md | 2 +- content/user/search/_index.md | 2 +- content/user/search/optimizing_seo.md | 120 +---------------- content/user/seo/_index.md | 6 + content/user/seo/deleted_product_redirects.md | 9 ++ content/user/seo/optimizing_seo.md | 122 ++++++++++++++++++ content/user/seo/other_topics.md | 21 +++ content/user/template/template_switching.md | 4 +- 13 files changed, 188 insertions(+), 124 deletions(-) create mode 100644 content/user/seo/_index.md create mode 100644 content/user/seo/deleted_product_redirects.md create mode 100644 content/user/seo/optimizing_seo.md create mode 100644 content/user/seo/other_topics.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cf1607017..d095b9125 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -203,17 +203,25 @@ https://www.zen-cart.com/latest ## Renaming files -If it is necessary to rename a file, be sure to use [Hugo aliasing](https://gohugo.io/content-management/urls/) so as not break any external links to the page. You can see an example of where this was done in `change_header_logo.md`, which used to be named `change_powered_by.md`. The front matter of the file has an alias to the old name: +If it is necessary to rename or move a file, be sure to use [Hugo aliasing](https://gohugo.io/content-management/urls/) so as not break any external links to the page. You can see an example of where this was done in the `/user/taxes/tax_calc_wrong.md` page, which used to be named `/user/locations/tax_calc_wrong.md`. The front matter of the file has an alias to the old name: ``` aliases: - - /user/new_user_topics/change_powered_by/ + - /user/locations/tax_calc_wrong ``` +Aliases can sometimes cause problems, so an alternate approach is to create a crosslink only page, as described below. + ## Crosslink only pages A page with minimal content and mostly links is called a _crosslink only_ page. -These pages are like linked products - they ensure that someone browsing a category will see related content. An example is `/user/products/product_listing.md`. +These pages are like linked products - they ensure that someone browsing a category will see related content. An example is `/user/ezpages/ezpages_sidebox.md`. + +The body of this page is just a link to the new page: + +``` +Please see [this page](/user/sideboxes/ezpages_sidebox/). +``` Crosslink only pages should have `noindex: yes` in their front matter. diff --git a/content/dev/code/template_settings.md b/content/dev/code/template_settings.md index c73a8f8a6..b490b54ab 100644 --- a/content/dev/code/template_settings.md +++ b/content/dev/code/template_settings.md @@ -5,7 +5,7 @@ category: code weight: 10 --- -Starting with Zen Cart v2.0.0 there is a `tpl()` function that can be used to access site configuration settings that are customized to a specific template. +Starting with Zen Cart v2.0.0 there is a `tpl()` function which can be used to access site configuration settings that are customized to a specific template. This means you can have the usual global settings configured in the Admin as usual, but allow for template-specific overrides which only take effect when a certain template is used. @@ -13,7 +13,7 @@ One benefit of this for both storeowners and developers is the ability to try ou It also allows template authors to distribute configuration settings with their template, without those settings messing with a store's already-configured settings. -> NOTE: This can be used in tandem with the `init_site_specific_non_db_settings.php` feature available since Zen Cart v1.5.8. +> NOTE: This can be used in tandem with the `init_site_specific_non_db_settings.php` feature available since Zen Cart v1.5.8 - see [Site Specific Overrides](/user/customizing/site_specific_overrides/). ## Requirements diff --git a/content/release/whatsnew_2.0.0.html b/content/release/whatsnew_2.0.0.html index f77c50491..652ca74e0 100644 --- a/content/release/whatsnew_2.0.0.html +++ b/content/release/whatsnew_2.0.0.html @@ -199,6 +199,8 @@

  • Admin: Coupon Restrict dropdown only shows products not already selected.
  • Admin: Customers default address id bug fix.
  • Admin: Customers list will now show registration IP if set. This behavior may also be disabled; see admin specific overrides.
  • +
  • Admin: Delete product checks to ensure product exists first.
  • +
  • Admin: Developers now have a [template settings](/dev/code/template_settings/) file to facilitate template switching.
  • Admin: Orders listing sidebox provides direct link to customer account.
  • Admin: Order details page provides a direct link to customer account.
  • Admin: Handle emails with embedded '+' signs.
  • @@ -240,6 +242,7 @@

  • Storefront: Shipping modules now visible in Shipping Estimator when zone restriction and non-pulldown state setting is used.
  • Storefront: State dropdowns are now sorted alphabetically for all countries.
  • System: All "extra" folders are now loaded alphabetically. In prior releases, they were loaded in filesystem order, which would sometimes result in system-dependent issues.
  • +
  • System: The issue that caused the Uncaught IntlException: datefmt_create: invalid locale: U_ILLEGAL_ARGUMENT_ERROR problem for users running PHP 8.1/8.2 no longer requires configure.php changes.
  • Database: Correction of known issues with zones.
  • Installer: Improved UI and progress reporting in zc_install.
  • All known v1.5.8/v1.5.8a bugfixes and security fixes are included in v2.0.0.
  • diff --git a/content/user/customizing/site_specific_overrides.md b/content/user/customizing/site_specific_overrides.md index 3c6dd820c..6e97ae731 100644 --- a/content/user/customizing/site_specific_overrides.md +++ b/content/user/customizing/site_specific_overrides.md @@ -41,3 +41,6 @@ Copy this file to and customize to taste. The settings that may be altered in this file are listed in the file `includes/init_includes/init_non_db_settings.php`. +## Related Links +- [Template Settings](/dev/code/template_settings/) file + diff --git a/content/user/miscellaneous/can_zen_cart.md b/content/user/miscellaneous/can_zen_cart.md index e20960c67..785795a7d 100644 --- a/content/user/miscellaneous/can_zen_cart.md +++ b/content/user/miscellaneous/can_zen_cart.md @@ -119,7 +119,7 @@ Yes - you can limit admin users to a subset of the superuser capabilities using --- ### Can Zen Cart create SEO friendly URLs? -The plugin [Ultimate SEO URLs](https://www.zen-cart.com/downloads.php?do=file&id=132) allows Zen Cart to create keyword-rich URLs. +Not by default, but plugins are available. Please see [SEO URLs](/user/seo/other_topics/#seo-urls). --- ### Can Zen Cart allow me to edit an order after it was placed? diff --git a/content/user/running/traffic.md b/content/user/running/traffic.md index f85932574..dcc5ab332 100644 --- a/content/user/running/traffic.md +++ b/content/user/running/traffic.md @@ -18,5 +18,5 @@ The [sitemap plugin](https://www.zen-cart.com/downloads.php?do=file&id=367) allo - Participate in forums in your area of business, and add your URL to your forum signature. For example, if you sell plants, participate actively in gardening forums. Just be sure to follow community standards (don't spam the forum with ads for your products, for example). -Also be sure you have done all the possible [SEO Optimization](/user/search/optimizing_seo/) possible for your site. +Also be sure you have done all the possible [SEO Optimization](/user/seo/optimizing_seo/) possible for your site. diff --git a/content/user/search/_index.md b/content/user/search/_index.md index 7a4f149c3..c323e5f95 100644 --- a/content/user/search/_index.md +++ b/content/user/search/_index.md @@ -1,6 +1,6 @@ --- title: Search -description: Customer Search, Admin Search and SEO +description: Storefront Search and Admin Search weight: 100 layout: docs --- diff --git a/content/user/search/optimizing_seo.md b/content/user/search/optimizing_seo.md index 8ee3acaa1..90744160d 100644 --- a/content/user/search/optimizing_seo.md +++ b/content/user/search/optimizing_seo.md @@ -3,120 +3,10 @@ title: SEO Optimization description: Guidance for improving ranking in search engines category: search weight: 10 +index: false +noindex: yes --- -## Best Practices for Optimizing SEO - -First and foremost, make sure you understand who your customers are, how they write their search terms when seeking for something you offer, and what their real needs/wants are. -Specifically, understand what problems your products actually solve and how your customers will feel after they buy the product you offer for solving those problems. - -Then use that information in your category, product, page content and metatags. - -Specific areas to focus on: - -- product descriptions and titles. Make sure that the most-likely search terms for each product are reflected in title and description. Ideally 2-3 times on the page. (Never "stuff" keywords dozens of times on a page.) -- product [metatags](/user/admin/meta_tags/): title, description, and keywords. Make sure to optimize these for search engines to show in search results. -- category names and descriptions and metatags. Make sure that the common search terms for each category's products are found in the category description and metatags - -## Keywords: defined -"keywords" = "popular search terms", specifically the terms used to shop for any specific product or research a certain category of products. - -To clarify again, the point here is: when you think about "keywords", don't think about "a magical term". Think about "the phrases people search with" when they're shopping for a solution to their problem, for which your product provides a solution. - -Think in the mind of the customer who is looking for an answer to a problem. This is the added "edge" that a lot of people never consider, and adjusting to this can boost your results. - - -## Assessing -Consider that the **category/subcategory** pages drive most of the visitors to your site from search engine results. You should find a lot of traffic to these pages. - -Secondarily you also want to see a decent share of traffic coming to product pages from long-tail search terms/phrases (longer, more product-specific search queries). - -Analyze performance (which products/pages get decent traffic) 3-6 months after making changes. Then go through and adjust. Even consider removing things that don't get traffic or don't sell. - - -### Content -For EVERY INDIVIDUAL page, category, product on your site, look at these parts: - -Parts To Look At | ------------------| -Page Title (Product/Category Name, or EZ Page Title) | -Page Content (eg: Product/Category description, or Article text) | -Metatags Title (This will be shown in search results) | -Metatags Description (This is the sub-text shown in search results) | -Metatags Keywords (These are used by your own store's search, and can be partially helpful to search engines) | -Images | - -And ask yourself these questions: - -Questions To Ask About EACH Part | ----------------------------------| -Is it helpful? | -Is the content Unique? (Not the same as on any other website) | -Does it use phrases a customer would search with? | -What problem does it say it solves/answers for a buyer? Is that what the customer would ask a search engine? | -For images, do they provide value to the shopper? Are they unique (not the same as on any other website)? | -Why do customers want to buy your products/services? (Ask them directly!) Work those answers into content on your site. | -Do customers think in the same "terminology" words that I'm writing on my website and products and category names and descriptions? | - - -### Category pages -Good quality category pages that line up well with popular search terms is key, as that’s where the bulk of traffic comes in on ecommerce websites. - -Find out what popular keywords your site is already ranking for on pages 2 or 3 of Google and other search engines. -Make sure that your category and subcategory pages line up with those keywords, by building those search phrases into your category descriptions and metatags. - -And then work on ways to establish good links to those pages from other websites. (See "backlinks" below). - - -### Product pages -Focus first on your top 10 to 50 products. - -Identify the popular (high search-volume) search terms for each product you sell. Not only on your own website, but everywhere. -Then optimize your product pages for those search terms by building those phrases into your content. - -Make sure that you write unique valuable text on these pages – DO NOT use stock manufacturer text that could be found on any other website. - -Be sure to have a paragraph of three or four sentences and build in the primary keyword (search phrases) into that text at least twice, in a way that feels totally human and natural. - -If there are a lot of different keywords/phrases that relate to your product, consider writing Articles/Blogs that use those words/phrases more heavily than your product descriptions do. The "authority" given to your product by the "other page" can be more beneficial than having too many of those words in the product description itself. - - -### Backlinks are important! -Links to your site, from other sites, are important. While it's ideal if those other sites are in the same industry that's not always important. -If what you sell is useful then there are certainly related sites out there writing about "how to use" your products, etc. - -Consider being a guest on a popular podcast whose listeners would use your products, as "links to your site in their site's show notes" can be beneficial. - -You could publish YouTube videos related to your products, such as how-to-use them, what exact "real world problems the product solves", etc. Be sure the videos contain meaningful content, and aren't posted just to create a link. Remember: **meaningful content** is more important than just creating links or stuffing keywords. - -Be creative about other similar possibilities. - - -### Internal Linking -Zen Cart cross-links product and category pages extensively in a way that's logical for most visitors - -However, if you write content on EZ-Pages or other places on your site, you should include links to the specific products that your page content is referring to. - -And, if you have products that are related to other products, where it feels like it would be logical to link to another product from its description, add links to connect them. - - -### Articles and other content -EZ Pages can be a place to write articles that can educate customers, celebrate creative uses of your products, and highlight success stories. - -Articles should contain keywords (phrases) that your customers are searching for. And these articles should contain links to the products that your articles are referring to. - -Work on getting backlinks to your articles which line up with popular search terms for your site or the products discussed on those pages. - - - -### Related resources -Consider some of the following references: -- [Create Good Titles And Descriptions](https://support.google.com/webmasters/answer/35624) -- [Content Optimization Tips for SEO](https://www.link-assistant.com/news/content-optimization/) -- [Non-Technical Strategies for Ranking Well With Your Article Content](https://www.youtube.com/watch?v=_TBTSGREx5A) (video) - - - -## Plugins To Consider -- [XML Sitemap](/user/search/xml_site_map/) -- [Structured Data](https://www.zen-cart.com/showthread.php?221868-Structured-Data-Markup-for-Schema) +``` +This content has moved. Please see [this page](/user/seo/optimizing_seo/). +``` diff --git a/content/user/seo/_index.md b/content/user/seo/_index.md new file mode 100644 index 000000000..7f804600c --- /dev/null +++ b/content/user/seo/_index.md @@ -0,0 +1,6 @@ +--- +title: SEO +description: Information about Search Engine Optimization +weight: 100 +layout: docs +--- diff --git a/content/user/seo/deleted_product_redirects.md b/content/user/seo/deleted_product_redirects.md new file mode 100644 index 000000000..f7a495fcc --- /dev/null +++ b/content/user/seo/deleted_product_redirects.md @@ -0,0 +1,9 @@ +--- +title: Deleted product redirects +description: Using .htacces redirects for deleted products +category: seo +weight: 10 +--- + +content coming soon! + diff --git a/content/user/seo/optimizing_seo.md b/content/user/seo/optimizing_seo.md new file mode 100644 index 000000000..d69e56eb9 --- /dev/null +++ b/content/user/seo/optimizing_seo.md @@ -0,0 +1,122 @@ +--- +title: SEO Optimization +description: Guidance for improving ranking in search engines +category: seo +weight: 10 +--- + +## Best Practices for Optimizing SEO + +First and foremost, make sure you understand who your customers are, how they write their search terms when seeking for something you offer, and what their real needs/wants are. +Specifically, understand what problems your products actually solve and how your customers will feel after they buy the product you offer for solving those problems. + +Then use that information in your category, product, page content and metatags. + +Specific areas to focus on: + +- product descriptions and titles. Make sure that the most-likely search terms for each product are reflected in title and description. Ideally 2-3 times on the page. (Never "stuff" keywords dozens of times on a page.) +- product [metatags](/user/admin/meta_tags/): title, description, and keywords. Make sure to optimize these for search engines to show in search results. +- category names and descriptions and metatags. Make sure that the common search terms for each category's products are found in the category description and metatags + +## Keywords: defined +"keywords" = "popular search terms", specifically the terms used to shop for any specific product or research a certain category of products. + +To clarify again, the point here is: when you think about "keywords", don't think about "a magical term". Think about "the phrases people search with" when they're shopping for a solution to their problem, for which your product provides a solution. + +Think in the mind of the customer who is looking for an answer to a problem. This is the added "edge" that a lot of people never consider, and adjusting to this can boost your results. + + +## Assessing +Consider that the **category/subcategory** pages drive most of the visitors to your site from search engine results. You should find a lot of traffic to these pages. + +Secondarily you also want to see a decent share of traffic coming to product pages from long-tail search terms/phrases (longer, more product-specific search queries). + +Analyze performance (which products/pages get decent traffic) 3-6 months after making changes. Then go through and adjust. Even consider removing things that don't get traffic or don't sell. + + +### Content +For EVERY INDIVIDUAL page, category, product on your site, look at these parts: + +Parts To Look At | +-----------------| +Page Title (Product/Category Name, or EZ Page Title) | +Page Content (eg: Product/Category description, or Article text) | +Metatags Title (This will be shown in search results) | +Metatags Description (This is the sub-text shown in search results) | +Metatags Keywords (These are used by your own store's search, and can be partially helpful to search engines) | +Images | + +And ask yourself these questions: + +Questions To Ask About EACH Part | +---------------------------------| +Is it helpful? | +Is the content Unique? (Not the same as on any other website) | +Does it use phrases a customer would search with? | +What problem does it say it solves/answers for a buyer? Is that what the customer would ask a search engine? | +For images, do they provide value to the shopper? Are they unique (not the same as on any other website)? | +Why do customers want to buy your products/services? (Ask them directly!) Work those answers into content on your site. | +Do customers think in the same "terminology" words that I'm writing on my website and products and category names and descriptions? | + + +### Category pages +Good quality category pages that line up well with popular search terms is key, as that’s where the bulk of traffic comes in on ecommerce websites. + +Find out what popular keywords your site is already ranking for on pages 2 or 3 of Google and other search engines. +Make sure that your category and subcategory pages line up with those keywords, by building those search phrases into your category descriptions and metatags. + +And then work on ways to establish good links to those pages from other websites. (See "backlinks" below). + + +### Product pages +Focus first on your top 10 to 50 products. + +Identify the popular (high search-volume) search terms for each product you sell. Not only on your own website, but everywhere. +Then optimize your product pages for those search terms by building those phrases into your content. + +Make sure that you write unique valuable text on these pages – DO NOT use stock manufacturer text that could be found on any other website. + +Be sure to have a paragraph of three or four sentences and build in the primary keyword (search phrases) into that text at least twice, in a way that feels totally human and natural. + +If there are a lot of different keywords/phrases that relate to your product, consider writing Articles/Blogs that use those words/phrases more heavily than your product descriptions do. The "authority" given to your product by the "other page" can be more beneficial than having too many of those words in the product description itself. + + +### Backlinks are important! +Links to your site, from other sites, are important. While it's ideal if those other sites are in the same industry that's not always important. +If what you sell is useful then there are certainly related sites out there writing about "how to use" your products, etc. + +Consider being a guest on a popular podcast whose listeners would use your products, as "links to your site in their site's show notes" can be beneficial. + +You could publish YouTube videos related to your products, such as how-to-use them, what exact "real world problems the product solves", etc. Be sure the videos contain meaningful content, and aren't posted just to create a link. Remember: **meaningful content** is more important than just creating links or stuffing keywords. + +Be creative about other similar possibilities. + + +### Internal Linking +Zen Cart cross-links product and category pages extensively in a way that's logical for most visitors + +However, if you write content on EZ-Pages or other places on your site, you should include links to the specific products that your page content is referring to. + +And, if you have products that are related to other products, where it feels like it would be logical to link to another product from its description, add links to connect them. + + +### Articles and other content +EZ Pages can be a place to write articles that can educate customers, celebrate creative uses of your products, and highlight success stories. + +Articles should contain keywords (phrases) that your customers are searching for. And these articles should contain links to the products that your articles are referring to. + +Work on getting backlinks to your articles which line up with popular search terms for your site or the products discussed on those pages. + + + +### Related resources +Consider some of the following references: +- [Create Good Titles And Descriptions](https://support.google.com/webmasters/answer/35624) +- [Content Optimization Tips for SEO](https://www.link-assistant.com/news/content-optimization/) +- [Non-Technical Strategies for Ranking Well With Your Article Content](https://www.youtube.com/watch?v=_TBTSGREx5A) (video) + + + +## Plugins To Consider +- [XML Sitemap](/user/search/xml_site_map/) +- [Structured Data](https://www.zen-cart.com/showthread.php?221868-Structured-Data-Markup-for-Schema) diff --git a/content/user/seo/other_topics.md b/content/user/seo/other_topics.md new file mode 100644 index 000000000..ee236faf9 --- /dev/null +++ b/content/user/seo/other_topics.md @@ -0,0 +1,21 @@ +--- +title: Other Topics +description: Other information about SEO in Zen Cart +category: seo +weight: 10 +--- + +## Disabled Product Status for Search Engines +Zen Cart has a configuration setting called [DISABLED_PRODUCTS_TRIGGER_HTTP200](/user/admin_pages/configuration/configuration_stock/#disabled_product_status_for_search_engines). The default behavior of the product is to not show a product info page for a disabled product; this switch allows the behavior to be changed. Users who set this value to `true` may require template changes to ensure customers to not actually buy disabled products. See [this page](https://github.com/zencart/zencart/discussions/6165) for more information. + +## SEO URLs + +The default installation of Zen Cart does not create "SEO URLs" (URLs that are self-describing). Some plugins are available to do this: + +- [Ultimate SEO URLs](https://www.zen-cart.com/downloads.php?do=file&id=132) +- [CEON URI Mapping](https://github.com/JSWebSteve/Ceon-URI-Mapping-V5.1.0) + +Please note that the plugin [Ultimate SEO URLs](https://www.zen-cart.com/downloads.php?do=file&id=132) is no longer supported. + +## Images and SEO +Image alt text is used by search engines and can improve your SEO. See [Alt Text](/user/accessibility/concerns/alt_text/) for more details. diff --git a/content/user/template/template_switching.md b/content/user/template/template_switching.md index 971922e2e..84db78a3a 100644 --- a/content/user/template/template_switching.md +++ b/content/user/template/template_switching.md @@ -5,6 +5,8 @@ category: template weight: 10 --- +**Note:** Users of Zen Cart 2.0.0 and above have access to the even more powerful [template settings](/dev/code/template_settings/) file feature. + The process of changing templates can be done using the [Template Selection](/user/admin_pages/tools/template_selection/) screen under Admin > Tools. But what if the templates you are switching between expect different configuration values? It's tedious to do these by hand, especially if you're switching back and forth doing tests. @@ -51,7 +53,7 @@ Then create `includes/templates/responsive_classic/template_init.php` as follow ``` Execute("UPDATE " . TABLE_CONFIGURATION . " SET configuration_value='1' WHERE configuration_key = 'PRODUCT_LISTING_COLUMNS_PER_ROW'"); ```