0

I'm not sure how to deploy best practice for SEO in a new project.

I'm building a CMS that will be used by a group of writers to post news articles to a website. I'm developing the site using Perl and Template-Toolkit (TT2). I've also embedded an open source editor (TinyMCE) in the system that will be used for content creation.

I was planning to save the news article content to the DB as text - though I could also save it to flat files and then save the corresponding file paths to the DB.

From an SEO standpoint, I think it would be very helpful if this content could be exposed to search engines. There will be lots of links and images that could help to improve rankings.

If I put this content in the DB, it won't be discoverable ... right?

If I save this content in template files (content.tt) will the .tt files be recognized by search engines?

Note that the template files (.tt) will be displayed as content via a TT2 wrapper.

I'm also planning to generate a Google XML Sitemap using the Sitemap 0.90 standard. Perhaps this is suffiecient? Or should I try to make the actual content discoverable?

Thanks ... just not sure how the google dance deals with .tt files and such.

mySilmaril
  • 207
  • 1
  • 3
  • 13
  • I'm not sure I understand the question. You have a template format (TT) but once they are rendered on the server-side, they'll be converted to links, images and text - HTML, in other words. So, unless I misunderstand, it doesn't matter how you store it from an SEO perspective, since search engines don't see your original content format until it leaves the server. – halfer May 13 '13 at 16:35

2 Answers2

3

If I put this content in the DB, it won't be discoverable ... right?

The database is part of your backend. Google cares about what you expose to the front end.

If I save this content in template files (content.tt) will the .tt files be recognized by search engines?

Your template files are also part of your backend.

Note that the template files (.tt) will be displayed as content via a TT2 wrapper.

The wrapper takes the template files and the data in the database and produces HTML pages. The HTML pages are what Google sees.

Link to those pages.

Quentin
  • 914,110
  • 126
  • 1,211
  • 1,335
  • Thank you @Quentin. So if I link to dynamically generated content, will Google be able to see that? For example, if I link to something like this on my homepage ... http://www.mydomain.com/cgi-bin/foo.cgi?mode=get_article&aid=100 ... which calls a (wrapper) + (template) + (the actual text content from the DB) ... will Google see that full page and rank it? – mySilmaril May 13 '13 at 14:54
  • If it's dynamically generated from the server, then Google will have no trouble seeing it. – Quentin May 13 '13 at 14:56
  • 1
    Google will see that. But if you really care about SEO then you'll try to get rid of those rather rather nasty URLs. Something like mydomain.com/article/100 would be much nicer. A decent web framework would help with that. Or, alternatively, mod_rewrite :) – Dave Cross May 13 '13 at 15:58
  • 2
    Even better, for extra SEO juice use something like `mydomain.com/article/100/Article-title-text-here` (note Google appears to prefer hyphens not underscores in URLs as word separators). You can just strip and ignore the article text in your handler, but its presence in URLs will boost SEO ranking – plusplus May 13 '13 at 16:03
3

just not sure how the google dance deals with .tt files and such

Google doesn't care at all about .tt files and the like. Google cares about URLs and the resources that they represent.

When Google is given the URL of the front page of your site, it will visit that URL. Your site will respond to that request by generating the front page, presumably in HTML. Google will then parse that HTML and extract any URLs it finds. It will then visit all of those URLs and the process will repeat. Many times.

The back-end technologies don't matter at all. What matters is that your site is made up of well-constructed HTML pages with meaningful links between them.

Dave Cross
  • 68,119
  • 3
  • 51
  • 97