Let’s say you want to use a CMS (content management system) for an online store. You know, after the platform is ready, you may need to edit your meta descriptions and page titles for your web site. But what else? What would you ask from a CMS developer? What should the requirements for a CMS be?
The below things are ideas. I put a priority (from Low to High), and I describe my desire. Not all need to be had, but a lot of them are rather useful. Also, it’s better to implement them prior to launching the web site. Also, most of them can be implemented after the web site is deployed, but generally with higher costs.
- URL = High: A solution for URL change. If you add a product with a long name, and the CMS automatically uses the words in the product title as ideas for URL. So, if you have a product for “Long One Shoulder Red Dress (29)”, the URL could be site.com/long-one-shoulder-red-dress-29/. And you should be able to edit this into site.com/red-dress-29/, for example. You should be able to edit the URL of the current page.
- URL = High (but difficult to implement): If you change the URL of a product, there should be an automatic redirection from the old to the new URL. Also, if you change it again, there should be a new redirection. There is a WordPress plugin which does that.
- URL = Low: If the URL is generated automatically from the page title, it would be a little useful if stopwords would be automatically eliminated from the URL (the, and, or, for). More.
- URL = High: make sure that only one version of the non www / www of the web site can be accessed, the other one should redirect. More.
- URL = Medium: redirect /index.php or /index.html (or whatever extension), the URL of the homepage, to /. About this
- URL = Medium: redirect the URLs with Capitals (site.com/URLWITHCAPITALS) to URLs without capitals (site.com/nocapitals/). Avoid all capitals.
- Canonical URL = Medium: Have the URL of the current category / product as a canonical URL. Details.
- Title = High: An option to set a suffix and a prefix for all the titles in the web site, based on page type. So, if I want to add a word at the end or beginning of the title, I should be able to do so automatically. This is commonly used for store name / web site brand. The title should be possible to be different than the page name. More by me, in Romanian. By others, in English.
- Title = Low: A tool to automatically present a list of all the titles with duplicate contents, or with a length longer than 65 characters. More by me, in Romanian. By others, in English.
- Meta description = Low: A tool to automatically present a list of all the meta descriptions with duplicate contents, or with a length longer than 155 characters or shorter than 110. Details, in Romanian. (in English, also)
- Image = Medium: When uploading a new image to a product item, it should rename the photo as “product-title-1.jpg”, with “1” adapting to the current photo. It should also put default ALT and Title of the image to the current product name. I wrote about this in Romanian. Others wrote in English.
- HTTP Status Codes = High: Return code 200 for most pages, 301 for redirects, 404 for error pages. About this.
- Robots.txt / Sitemap.xml = Medium: Create a sitemap.xml, with highest priority for homepage (1), then for categories (0.8), then for products (0.6), then for static pages (0.4). Link the sitemap in robots.txt. On sitemaps. On robots.txt.
- Facebook meta graph = Medium: Provide og:title & og:description & og:image for each page on the website, default so some values if none are provided. Details.
- Structured data = High: It’s a per site recommendation, there is not a “one fit all” recommendation. Read more on this. Official web site.
- Not useful anymore, please ignore this!:
Rel next/prev for multipagination (especially on categories) = High: Inform Google that a category has more than one page. More. For multilingual web sites, use rel=alternate hreflang=X = Medium: It’s helpful for Google to know which is the current page variant in a different language. About this.
- Not valid anymore:
For blogs, link with Google+ profiles = Low: The author of the blog post will appear in Google Search results with their Google+ profile (and avatar). Read this first and only after then this.
- Good site speed = High. Have a good hosting and find solutions to improve site loading speed. The faster the web site, the better the rankings (up until some point). Why? How?
- Breadcrumbs = Low. Use them and have schema.org on them. It helps both the user and Google to do so. On this.
- H1 tags = Low: Put h1 tags for the title of the current page. For homepage, ignore the h1. For any other item (including logo), don’t use h1 tag. You can also use h2 for subheadings (especially in product categories). The tags from h3 and below are less important. About this.
- User comments = You should have an option for user generated content (reviews, product photos in real life usage, testimonials).
- Google Analytics for eCommerce = Allow easy integration of this.
- Social networks = Easy integration of Facebook Like / Share / Tweet this / +1 / Pin this / Email this / Print this & other similar buttons.
- Social networks = Easy integration of important Facebook / G+ / Tw MetaData tags. Details.
- RSS for categories = For keeping in touch.
- XML of product feed = For affiliate marketing. About.
- Rich editing of product page = should be able to use lists / links / embed content / add photos / align text / make text bold/italic .
- I recommend responsive web sites for use on mobile devices. The decision to rebuild a web site based only on mobile usage is much more complex than this, tough.
- Don’t use splash pages, frames, login for navigation.
- Avoid having duplicate products (very similar or identical product pages).
- For categories, either avoid having multiple listings of products (the same category of products, displayed differently, via sort options – by price, by name, by date, by popularity) or use rel=canonical (see above) is recommended.
- Avoid displaying content specifically for Google. Focus on the visitor. Don’t try to mimic you do good.
- Test the web site on different browsers.
- Get a unique IP for your web site.
- Try and have a country-specific TLD (for Australia, use site.com.au, for Romania site.ro, for Germany site.de etc.).
- Read this web developer’s guide.
- Consider using Schema.org on your website.