This checklist of SEO is based on the most common recommendations of leading SEO companies of the Russian Internet. Here you can find useful answers to main question how to promote the e-shop based on CS-Cart.
Latest update of the document: September 25th, 2016
It is open document. We are going to update and extend it regularly. Your comments to this article would be highly appreciated and we make a joint decision whether it should be added to the checklist.
General web-site structureRecommendations:
- Divide categories specifically, make subcategories if necessary. It is necessary for exact key phrases. For example, if you have the "Computer mouses and keyboards" category, divide it to the "Computer mouses" and "Computer keyboards".
- Open for indexation all pages with filters applied. It is aimed to make more landing page in the store. For example, it is useful for customers who look for a product with the specific feature like "Wireless computer mouse", not just "Computer mouse". Sometimes, it makes sense to index pages with price filters like "Computer mouses up to $15". Please, pay attention that although lots of pages for narrow filters have a positive impact on indexation, the big number of the pages without important message (for example, with filters by 2 brands) effects badly to the optimization.
- Exclude from indexation pages with filtering by three and more filters. It is also matter of pages without important message (see above).
- If you have pages with resembling or similar content you should specify the canonical URL in the head part of the html-page. The canonical URL is the main page for this group of pages. This mane page also should have the canonical URL in the head with the link to itself:
<link rel="canonical" href="https://store.cart-power.com/" />
URL structure and formatRecommendations:
- All pages should have search-engine-friendly (SEF) and user-friendly URL. If it is difficult to make such URLs, it is recommended to hide these pages from indexation.
- If the page with filters applied is open for indexation, it also should have the SEF-URL.
- Use transliteration or correct translation for foreign language pages. The transliteration is more appreciated. In case it is impossible, use translation. But apply the same strategy in the site: transliteration or translation. For example, you can use !--noined-->these services to transliterate texts in Russian.
- URL should not contain any additional symbols only Latin letters and the "-" symbol.
- URL should not contain two hyphen and in the end or in the beginning of the line.
- URL should contain only lower case letters (no cApiTalL letters SEF-URLs).
- If URL is of changing, set up the 301 redirect from old URL to new one. The significant number of redirects effects badly to the site estimation of search crawlers so do your best to avoid changes in URLs.
- It is also recommended to exclude from indexation the pagination URLs (2, 3, etc.) even if you have the canonical URL specified. It is strong recommendation for Yandex crawler. It means that all pagination pages should have the following meta-tag:
<meta name="yandex" content="noindex, follow" />
- Exclude the sorting pages with the "?sort_by=" parameter from indexation. It is necessary to prevent indexation of these clone pages and addition of them into the index. CS-Cart also uses the "?items_per_page=" parameter for displaying the specific number of elements on the page. You can use meta-tags noindex,nofollow to hide these pages and also add them into the robots.txt in the following way:
Disallow: /*?sort_by=* Disallow: /*?items_per_page=*
- There should be an opportunity to place additional text in the beginning and in the end of the page. The texts should be different on the different page. The similar texts may take place on the category page after filtering products by this or that filters. Please,keep in mind that the upper text should be placed after the heading before the sorting block.
- Bottom SEO text should be located directly under the pagination links.
- XML and HTML sitemaps should not contain links to the pages excluded from indexation. service pages should be removed from the sitemap.
- Sitemap should contain all pages requiring the indexation including pages with applied filters.
- Use image XML sitemap. Here are the instructions: https://support.google.com/webmasters/answer/178636
- Use XML-map for videos if you have them in your store. here are the requirements: https://support.google.com/webmasters/answer/80471?ref_topic=6080646
- The robots.txt should contain links to all sitemaps in the following mode:
Sitemap: https://cart-power.ru/sitemap.xml Sitemap: https://cart-power.ru/sitemap-images.xml Sitemap: https://cart-power.ru/sitemap-videos.xml
- If you use several languages in your store, you need to use different URLs for different pages. The default CS-Cart SEO add-on allows adding the language code with a slash ("http://your_store.com/ru/product_name/"). Also, you can realize different domains for different languages. Actually, you will have one administration panel (one installation) but you will have 2 domains like http://your_store.com and http://your_store.ru. The crawler will apprehend it as 2 different resources. It is easy enough to realize this system in CS-Cart, but some core file modifications are required.
Setting up 301 redirects
- All pages without slash in the end should be redirected to the same one with the slash in the end.
- All pages with more than 1 slash in the end should be redirected to the same page with one slash in the end.
- Add the 301 redirects from www.store.com to store.com and vice-versa.
- If you use SSL sertificate, all pages should be available via HTTPS and there is should be 301 redirect from HTTP to HTTPS.
The robots.txt file
User-agent: * Disallow: /app Disallow: /store_closed.html Disallow: /*?sort_by=* Disallow: /*?items_per_page=* Host: store.cart-power.ru Sitemap: https://store.cart-power.ru/sitemap.xml Sitemap: https://store.cart-power.ru/sitemap-images.xml Sitemap: https://store.cart-power.ru/sitemap-videos.xml
- Restrict using external links.
- If the external link is necessary, use the rel=”nofollow” attribute and frame it in the tags:
<!--noindex--><a href="http://cs-cart.com" rel="nofollow">CS-Cart</a><!--/noindex-->
- It is necessary for all indexated pages to contain correct information about the date of the last changes . Usually it is specified in the Last-Modified header. You can check HTTP headers using one of these services.
Last-Modified: Mon, 19 Oct 2015 02:28:12 GMT
- If the server gets the If-Modified-Since request, the response code should be 200. If the date in Last-Modified is older than If-Modified-Since, the server response code should be 304.
- The Cache-Control header should contain max-age=86400, must-revalidate for all pages. must-revalidate obliges browser to check the content update date by sending the request to the server.
- All pages should have the Expires header equal to "current time + 24 hours".
- 404 page should contain the search form. You should have the ability to monitor how the customer gets this page. This functionality helps to understand what content should be added to the store in the future.
Site loading speed
- Test your store in Google Pagespeed Insights. The minimum required value for desktop and mobile devices is 80. Some SEO companies consider it to be necessary to move the site into the Green zone.
- Mobile-Friendly Test should display "Great! The page is optimized for mobile devices."
General SEO-data of the page (H1, Title, Meta-tags)
- It is necessary for each page to have the unique title, description and keywords meta-tags. Each page should have the header included into h1 tags.
- It is necessary to generate automatically SEO-data according to the templates to ixclude pages without SEO-data.
- You can use several h2-h6 headers in one page, but only h1 header. Each h1 header must be unique for te whole web-site.
- There should not be any included tags in h1.
Site images optimization
- Image name should correspond to its content and to the page content.
- Image name should not contain any whitespaces, punctuation and accentuation marks. They should be replaced with the hyphens (-).
- Each image should have "alt" and "title" attributes that explains the image meaning.
- It is necessary to realize Breadcrumbs micro-data according to the schema http://schema.org/BreadcrumbList.
- It is necessary to realize Company contacts and Logos micro-data according to the schema http://schema.org/Organization.
- Social link profiles microdata should be realized according to schema https://developers.google.com/search/docs/data-types/social-profile-links
- Ratins and reviews microdata should be realized according to schema http://schema.org/AggregateRating.
- Applying Open Graph protocol http://ogp.me/.
- Embed social networks buttons for "likes" and "reposts".
- Embed social networks subscription buttons.