Philipp Posted July 31, 2014 Share Posted July 31, 2014 1) Introduction A great ProcessWire site is useless without visitors. If the site lacks of direct traffic, the webmaster has to rely on search engine users clicking on the right result. The goal is a good position on the result pages of special keywords. Optimizing sites for search engines, mostly Google, is called Search Engine Optimization (SEO). You will find many of techniques, methods and ideas on the internet. The topic is widely discussed and new ways of SEO arrive every day. This tutorial covers the technical aspect for SEO with the ProcessWire CMS and should give you a general overview on the topic. 2) Why ProcessWire fits perfectly to your SEO strategy With ProcessWire, nearly all practices for SEO can be used. It might be one of the best CMS in this field. Let us explain these bold claims. Every SEO aspect is related to the content on your page. It can be some meta tags in the HTML-Head or how you structure your headings. Even microformats are just another way of how markup is presented to the visitor (or the search engine bot). After all, it's the logic on how we generate the HTML that we try to optimize. Where to put the content, how to define a site description or how URLs are made up. Most SEO modules for common CMS like WordPress or Drupal are generating the right markup. ProcessWire is a little bit different. As you might know, there is no pre-defined markup. Every line of front-end HTML code can be written by the programmer. As a result, there is no limit on how we can structure the HTML. You want those new fancy HEAD Attributes? No problem. Grab the first image of a gallery and define it as the meta og:image? Easy job, even if you need a special resolution for Facebook and a smaller one for Twitter. So, what do we have to do? We can't just simply install a one-click "SEO module". We have to define, which fields will represent which HTML attribute or how we wrap the content into microformat schemas. Ask yourself the following questions: Which values(keywords,descriptions,information) do I need for my SEO strategy? Are those values stored per page, for a section of your site or can they be defined for the whole site? Should the user/administrator enter those values or can they be combined/calculated based on other fields? What happens if there is no value defined for a field? How does the fallback look like? Beside that, some good practices for SEO are already implemented by ProcessWire. The URL structure representing the page tree is clean and you can even customize it to fit to your requirements. Unique URLs are standard. With modules like ProCache, MinimizePW or AIOM you can optimize page speed quick. Everything else, expect the server performance is part of the undefined HTML markup. 3) Example on how to integrate meta tags (or anything you like) We want to have some keywords and a (short) description in our HTML Head. So we create two fields, calling them e.g. keywords and description and add them to a template. Create a page with that template and enter some keywords and a description. In your template file output the fields in the HTML head: <meta name="description" content="<? echo $page->description ;?>"/> That's all. We can now extend this to have fallback or choose the fields with a more advanced logic. Nico explains this for example in his blog post. Extra hint: If we want to fallback on the (mandatory) title field of a page, we can use the ->get Method. <meta name="description" content="<? echo $page->get('description|title');?>"/> This will use the title field in case the description field is empty. You could use this to provide the user an option to "override" the SEO logic by manually entering the values. Another example would be the alt-tag for images. To provide an alt-tag for an image, we use the description field of the image field. In this example, we take the first image from the field "images" on the page. <img src="<? echo $page->images->first()->url ;?>" alt="<? echo $page->images->first()->description;?>"/> The description attribute is part of every PageImage field. You could hide it from the backend but it's visible by default. 4) Modules for SEO 4.1) XML Sitemap This module will generate a sitemap.xml that can be crawled and used by search engines. The basic setup just generates a sitemap.xml with every page included. You can finetune the settings if you want. 4.2) Textformater Microformats This module sets microformats for content in TextAreas/WYSIWYG areas. It will wrap basic content into the right schema.org schema. The module page provides further information 4.3) Page path history Moving a page to another URL? With this module you don't have to worry about visitors getting an 404 error. It will try to track changes in the URL of pages and redirect visitors to the new location - as long as there isn't a new page with the URL. 4.4) Multisite Sometimes you want to have some entry-pages for special keywords. If you need a special domainname for those site, you can setup the Multisite module. 5) Further links and tutorials Categorize content and build the right URLs. Might be useful for SEO strategies. Rebuild the URL structure by using URL-segments Another forum entry on the topic of SEO 6) Conclusion Maybe this little tutorials helps starters to get an idea, on how to optimize their page for search engines. This might seem little bit more difficult then just to install a one-click solution. But if you put in an hour to just think about a clean and readable markup with all tags, you will get great results. Any additions or practices are welcome. I will try to answer any questions in this thread and make the tutorial better over time. 24 Link to comment Share on other sites More sharing options...
teppo Posted July 31, 2014 Share Posted July 31, 2014 This is great, Philipp -- thanks! I'm tempted to forward this to a few co-workers right away Two minor additions you might want to consider: a note about inserting images within RTE (mainly from alt tags point of view, but also that PW automagically resizes images, which in turn reduces unnecessary load) and Redirects module. Link to comment Share on other sites More sharing options...
Pete Posted August 3, 2014 Share Posted August 3, 2014 This would be a good article for the new docs section! 2 Link to comment Share on other sites More sharing options...
MuchDev Posted August 5, 2014 Share Posted August 5, 2014 On a roll what a great topic! I would love to see this expanded into other areas as well. I am still trying to grasp the concepts behind seo. Is there any plan for a seo type cheatsheet? Like how to form titles and meta tags, img, links and such? Link to comment Share on other sites More sharing options...
SiNNuT Posted August 5, 2014 Share Posted August 5, 2014 On a roll what a great topic! I would love to see this expanded into other areas as well. I am still trying to grasp the concepts behind seo. Is there any plan for a seo type cheatsheet? Like how to form titles and meta tags, img, links and such? A SEO 'cheatsheet' would never be limited to PW. The same rules apply to more or less everyone. Just put your title and description meta tags in good shape and make well formed and to the point (html) content and you should be fine. Take care of heading levels and such and do not ever underestimate the power of Google and the like. Most of times it is some kind of specificity and traffic kind of magic. For further SEO tips and tricks there's plenty to go around if you just Google. No amount of trickery (apart from maybe sponsored ads ) will get you on top op of Google for example 'harry potter books', unless you're Wikipedia, Amazon or author sites. 1 Link to comment Share on other sites More sharing options...
MuchDev Posted August 15, 2014 Share Posted August 15, 2014 Thank you, seo is just such an in depth topic that I understand little about. I Just worry that I will finish the site and no matter what I do my site will still not show up on google. I thought there may be some sort of insider tricks to make managing processwires structure to be more seo friendly Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now