Chicago, IL | p: 773.338.1313

July 17, 2013

Adding Manageable SEO Content to Perch CMS

I’d had the idea to create some Perch-specific SEO content area templates for a while and finally had reason to when working on the redesign for Burger Lounge. By using Simon Clay’s initial work as a jumping off point, we’ve created a good solid system for adding SEO information on a page-by-page basis to your new or existing Perch CMS driven website. disclaimer: I am by NO MEANS an SEO expert. Far from it.

To use this template, do the following…

1. Download the file here.

2. Add the <?php perch_content(‘Perch Meta’); ?> tag to your site’s page, in the same area from where you call your meta information.

3. Add the page_seo.html file to your /perch/templates/content dir.

4. Refresh your page from the user side, and the Page SEO field should show up as a template choice in the Perch admin.

Choose the Page SEO template in the Perch Admin

Choose the Page SEO template in the Perch Admin

Now, specifics about these templates…

• I added a Page Title meta area to the very top of the template – though a lot of SEO folks say Title and Page Title are the same, there’s some weight behind the TITLE being weighted for use by the human user & the META TITLE being used by the bots. META TITLE will show up in search results higher, so I like to just go ahead and add both. Research shows that there are no penalties for using both.

• You don’t need an Author tag in the template, reasoning behind this is because that Author info should not change from page to page. Author info is included in the master php slug at the top of your page called _meta.php (which I’ve included for you use in the .zip). It looks like this:

_meta.php file

_meta.php file

• Speaking of that  _meta.php file, it will aggregate the following info (in this order):

– CharSet
– CMS generator
– Perch Template
– Refresh rate (at 300) *
– Copyright Line (including .php call to keep your current year info current)*
– Author Tagline *
– Revisit Call *

 * everything asterisked can be universal to all pages, so should remain the same for ease of implementation.

Then, in all your .php pages you call the _meta.php page just after the <title> tag. I’ve also included a sample index.php page for reference.

index.php file example

index.php file example

I typically keep all my meta information in a separate .php file that gets called at the top of the page load before my CSS & JavaScript. Using this methodology, your template areas get pulled into every page to allow customization as needed on a page by page basis, and the universal items stay in the _meta.php file.

A note about robots: I’ve always found it best to use the “follow everything, index everything” school of thought. So to achieve a <meta name=”robots” content=”all,index,follow,” /> tag, set the Robots section of the template as such:

Perch "robot data" settings

Perch “robot data” settings

And lastly, when you finish adding all your meta info thru the template, be sure and set these fields to be accessible by Admins only.

Access Settings in the Region Options Panel

Access Settings in the Region Options Panel

Your everyday site users should be set up as Editors, not Admins – and by restricting access to the SEO settings, you’ll keep curious backend users from undoing all your hard work.

Let me know if you use this on any projects, I’d love to hear your feedback! If you have any suggestions on changes or modifications to my templates or methods, post a comment, I’d appreciate your input!