DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: TEQneers SEO Enhancements

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed by:Markus Blaschke
Changed:2012-09-13T15:20:51
Classification:tq_seo
Keywords:SEO, Sitemap, Pagetitle, Metatags, Google, Yahoo, Bing, Google Analytics, Piwik, P3P
Author:Markus Blaschke
Email:blaschke@teqneers.de
Info 4:
Language:en

img-1 img-2 EXT: TEQneers SEO Enhancements - tq_seo

EXT: TEQneers SEO Enhancements

Extension Key: tq_seo

Language: en

Keywords: SEO, Sitemap, Pagetitle, Metatags, Google, Yahoo, Bing, Google Analytics, Piwik, P3P

Copyright 2000-2012, Markus Blaschke, <blaschke@teqneers.de> (TEQneers GmbH & Co. KG)

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

EXT: TEQneers SEO Enhancements 1

`Introduction 3 <#__RefHeading__2100_1227984897>`_

What does it do? 3

Screenshots 5

`Users manual 13 <#__RefHeading__2106_1227984897>`_

Installation 13

Indexed Sitemap 13

Robots.txt 13

Metatags 14

UserAgent 15

Crawler 15

Services 15

Social 16

Pagetitle 16

Sitemap 16

`Backend Modules 18 <#__RefHeading__2680_249562930>`_

SEO Page Module (Website → SEO) 18

SEO Control Center (SEO → Control Center) 18

SEO Sitemap (SEO → Sitemap) 19

`Advanced manipulations (stdWrap support) 20 <#__RefHeading__1406_1455840893>`_

Metatags 20

Pagetitle 20

`Google Analyitics / Piwik customizations 21 <#__RefHeading__2795_10825925>`_

Customization codes (fast/simple) 21

`Example for Google Analytics in TypoScript-Setup: 21 <#__RefHeading__2801_10825925>`_

Template customization (advanced) 21

`It's quite easy, for more information read: 21 <#__RefHeading__2807_10825925>`_

`Scheduler tasks 22 <#__RefHeading__1681_2008300930>`_

`FAQ 23 <#__RefHeading__2142_1227984897>`_

General 23

Indexed Sitemap 23

Others 24

`RealURL configuration 25 <#__RefHeading__3079_202915244>`_

`Hooks 27 <#__RefHeading__1812_685650465>`_

`Beta-Features 28 <#__RefHeading__1619_1783233314>`_

`Suggested Extensions 29 <#__RefHeading__2146_1227984897>`_

`Known problems 30 <#__RefHeading__1737_849775136>`_

`To-Do list 31 <#__RefHeading__2148_1227984897>`_

`Found a bug? Problems? 32 <#__RefHeading__3107_202915244>`_

`ChangeLog 33 <#__RefHeading__2150_1227984897>`_

Version 5.0 33

Version 4.0 33

Introduction

Problems while reading this document? Try the PDF-Version → http://static.teqneers.com/storage/opensource/tq_seo_manual.pdf

What does it do?

This extensions will handle multiple page metatags and pagetitle manipulations in TYPO3. It's a replacement and major improvement for the “metatags” extension.

The following features are supported:

  • Indexed XML sitemap for Google and other search engines (with support for ALL extensions, pibase and extbase, not only tt_news)

  • Real sitemap builder via TYPO3 scheduler

  • Metatags

    • Manipulation of Metatags via stdWrap (Beta)
    • Automatic fetching metatags from tt_news (single-display module)
  • Pagetitle manipulations

    Manipulation of pagetitle via stdWrap (Beta)

  • Multi-language and/or multi-tree TYPO3 installations

  • Backend modules:

    • SEO page module
    • SEO control center module
    • SEO sitemap module

The following metatags are supported:

  • Language (auto-detected)
  • Description
  • Keyword
  • Copyright information
  • Reply-To E-Mail-Address
  • Author and publisher
  • Rating and distribution
  • Revisit
  • Geo-location information
  • Searchengine Crawler orders
  • Google Analytics (with anonymize IP and download link tracking, asynchronous implementation since 4.0)
  • Piwik integration (asynchronous implementation since 4.0)
  • Google, MSN, Yahoo and WebOfTrust Verification
  • Google+ Direct Connect
  • Canonical URL (Custom URL or autogenerated to current page)
  • IE Compatibility-Mode
  • Google Expire Date
  • Index, up, prev und next link-metatags
  • P3P-HTTP-Headers

The following pagetitle transformations are supported:

  • Prefix and suffix (inheritable)
  • Absolute pagetitle without any prefix and suffix
  • Sitetitle glue options
  • Sitetile positon

Screenshots

img-3 Illustration 1: TYPO3 Metatag-Constants

img-4 Illustration 2: TYPO3 Crawler-Constants

img-5 Illustration 3: SEO Services (eg. verification codes)

img-6 Illustration 4: SEO-pagesettings in TYPO3

img-7 Illustration 5: SEO-page module in TYPO3

img-8 Illustration 6: SEO-page module in TYPO3

img-9 Illustration 7: SEO-page module in TYPO3

img-10 Illustration 8: SEO-sitemap module in TYPO3

Users manual

Installation

  • Install Extension via Extension Manager.
  • Include “static extension template” (Template → Info/Modify → Edit the whole template record → “Include static (from extensions):” and select “TEQneers SEO”)
  • Modify your metatags via constants editor

Indexed Sitemap

The sitemap will automatically collect all cacheable sites and provides a xml- and plaintext-output – that's why it is “indexed”.

The XML-Sitemap (eg. for Google) is available with: index.php?type=841132

The TXT-Sitemap is available with: index.php?type=841131

If you have more than one tree in your TYPO3 you will have to add the root-PID to your Sitemap, eg:

Tree #1 with PID 123: index.php?id=123&type=841132

Tree #2 with PID 234: index.php?id=234&type=841132

If you have also enabled “sitemap_ObeySysLanguage” in the extension configuration you also have to add the language-id for your Sitemap - eg. for seperated language-domain eg. example.com (only english sites) and example.de (only german sites).

The sitemap will index ALL cacheable pages with full extension support (like tt_news and all other “clean” extensions).

If your extension doesn't use cHash or use no_cache the outwill WILL NOT included in the sitemap (and also will not be indexed by index_search).

Also the sitemap indexes all generated “typolink” (BETA).

Warning:

The TQ Seo Sitemap relies on the TYPO3 caching system. If any extension (or configuration – eg. RealURL configuration) break the caching system and makes TSFE non-cacheable (TSFE->no_cache) the sites will NOT INDEXED!

Make sure no extension will set no_cache and the cHash of your link is valid. This is the only way to get only valid URLs into your sitemap.

This sitemap supports both, pibase- and extbase-Extensions without problems. However the developer must take care of the cHash-handling.

Robots.txt

The robots.txt can be gerated with type 841133, eg.:

index.php?type=841133

If possible and enabled the robots.txt buidler will automatically add the link to the sitemap generator or the static sitemap files (will require TYPO3 Scheduler task to generate the static sitemap).

Metatags

Last Update time

Constant

Last Update time

Description

Publish the update time of the current page

Default

enabled

Detect Language

Constant

Detect Language

Description

Publish the current TYPO3-FE-language as metatag

Default

enabled

Canonical Tag

Constant

Canonical Tag

Description

Publish canonical link if possible (TYPO3-Cache is enabled and cHash is valid) or if user entered canonical tag into page options.

Default

enabled

Canonical Tag (Strict mode)

Constant

Canonical Tag (Strict mode)

Description

Enable strict mode (all wrong GET-parameters will generate a canonical-tag to the self without GET-params).

eg. /index.php?id=123&foo=bar would generate a Canonical-Tag poiting to /index.php?id=123 if the cHash is wrong or caching is disabled

Default

disabled

Publish Page Expire Time

Constant

Publish Page Expire Time

Description

Publish expire date from the “End Date” of the page.Currently only used for Google.

Default

enabled

Enable Dublin Core (DC.) metatags

Constant

Enable Dublin Core (DC.) metatags

Description

Enable/Disable output of dublin core (DC) metatags

Default

enabled

Description

Constant

Description

Description

Default description of your pages.

Overwritten by description of page

Default

Keywords

Constant

Keywords

Description

Default list of keywords

Overwritten by keywords of page

Default

Reply-to email

Constant

Reply-to email

Description

E-Mail address for contact

Default

Author

Constant

Author

Description

Default author

Overwritten by author of page

Default

Publisher

Constant

Publisher

Description

Publisher of the website

Default

Language

Constant

Language

Description

Overwrite language detection

Default

Rating

Constant

Rating

Description

Rating of the website

Default

Distribution

Constant

Distribution

Description

Distribution of your website

Default

Revisit after

Constant

Revisit after

Description

Number of days between search engine visits

Default

Geo Location

Constant

Geo Location

Description

Geo-Location of your webpage with latitude, longitude, region and placename

Default

PICS-label

Constant

PICS-label

Description

Platform for Internet Content Selection

see http://www.w3.org/PICS/labels.html

Default

P3P Compact Policy

Constant

P3P Compact Policy

Default

P3P Policy Url

Constant

P3P Policy Url

Description

Link (full URL) to your P3P Policy File

Default

Some metatags also have markers which could be build in, following metatags supports markers:

  • Title
  • Description
  • Keywords
  • Copyright
  • Publisher

Following Markers are available:

%YEAR%

Marker

%YEAR%

Description

Current year

Example

2011

UserAgent

IE Compatibility Mode

Constant

IE Compatibility Mode

Description

Compatibility mode for Microsoft Internet Explorer

Default

Crawler

Index

Constant

Index

Description

Should the crawler index your website?

Default

enabled

Follow

Constant

Follow

Description

Should the crawler follow links on your website?

Default

enabled

Archive

Constant

Archive

Description

Is the crawler allowed to archive the page (eg. google cache)

Default

enabled

Snippet

Constant

Snippet

Description

Should the crawler use the snippet/description in search results

Default

enabled

ODP

Constant

ODP

Description

Should the crawler use the OpenDirectoryProject to display the description in search results

Default

enabled

YDir

Constant

YDir

Description

Should the crawler use the YahooDirectory to display the description in search results

Default

enabled

Services

Crawler Verification

Metatag

Crawler Verification

Description

Verification code for Google, MSN and Yahoo webmaster tools and Web of trust

Default

Google Analytics

Metatag

Google Analytics

Description

The google analytics code for using on your site(Will not be shown in frontend if BE-user is logged in, can be re-enabled in BE-Login-Mode: plugin.tq_seo.services.googleAnalytics.showIfBeLogin = 1 )

Default

Google Analytics Anonymize IP

Metatag

Google Analytics Anonymize IP

Description

Anonymize the last part of the IP (may be required in some countries)

Default

disabled

Google Analytics Track Downloads (BETA)

Metatag

Google Analytics Track Downloads (BETA)

Description

Try to track downloads with google analytics.

See res/ga-track-download.js for more details

Currently supported files:

doc,docx,xls,ppt,odt,ods,pdf,zip,tar,gz,txt,vsd,vxd,rar,exe,wma,mov,av i,ogg,ogm,mkv,wmv,mp3,webm

Default

disabled

Piwik URL

Metatag

Piwik URL

Description

Url to your Piwik installation (without http:// and https://)

Default

Piwik ID

Metatag

Piwik ID

Description

Tracking id of your website in your piwik

Default

Piwik Download & Click Domain Name

Metatag

Piwik Download & Click Domain Name

Description

Specifies which domains are internal domains:

- single domain (eg. “example.com”)

- subdomain (eg. “.example.com”)

For more informations visit:

http://piwik.org/docs/javascript-tracking/

Default

Piwik DoNotTrack

Metatag

Piwik DoNotTrack

Description

Opt Out users with Mozilla's DoNotTrack browser setting

Default

enabled(since 4.0)

Social

Google+ Direct Connect

Service

Google+ Direct Connect

Description

Your Google+ Profile Page IDsee https://developers.google.com/+/plugins/badge/

Default

(since 5.0.0)

Pagetitle

Apply tmpl-sitetitle to absolute <title>

Metatag

Apply tmpl-sitetitle to absolute <title>

Description

There is a prefix/suffix for your pagetitle defined in your root template settings.

If you use the SEO-Absolute-Pagetitle settings you can disable this suffix/prefix here.

Default

disabled(since 1.1.0)

Apply tmpl-sitetitle to prefix/suffix <title>

Metatag

Apply tmpl-sitetitle to prefix/suffix <title>

Description

There is a prefix/suffix for your pagetitle defined in your root template settings.

If you use the SEO-Pagetitle-Suffix/Prefix settings you can disable this suffix/prefix here.

Default

enabled

Sitetitle glue

Metatag

Sitetitle glue

Description

Glue between Pagetitle (from Page) and Sitetitle (from template)

Default

:

Sitetitle glue spacer (before)

Metatag

Sitetitle glue spacer (before)

Description

Add spacer before glue string

Default

disabled

Sitetitle glue spacer (after)

Metatag

Sitetitle glue spacer (after)

Description

Add spacer after glue string

Default

enabled

Sitetitle position

Metatag

Sitetitle position

Description

Position of Sitetitle (from template)

Possible options:

Sitetitle-Pagetitle (eg. Example Company: About us)

Pagetitle-Sitle (eg. About us: Example Company)

Default

Sitetitle-Pagetitle(0)

Sitetitle

Metatag

Sitetitle

Description

Overwrite the template sitetitle with a custom one

Default

Sitemap

Enable

Metatag

Enable

Description

Enables output (if set on root-pid of tree) and indexing for the whole subtree

Default

enabled

Page limit

Metatag

Page limit

Description

Limit pages on sitemap-xml-pages

Default

10000

Limit to current language

Metatag

Limit to current language

Description

Limit output of the sitemap to the current language.This will enable multi-language-domain sitemaps. eg: www.example.com (FE-Language is english) will output only english pages www.example. de (FE- Language is german) will output only german pagesThis option was ported from the extension configuration and will replace this configuration.

Default

disabled

Default change frequency

Metatag

Default change frequency

Description

Default change frequency for sitemap cache (will be cached!)

Default

Page priority

Metatag

Page priority

Description

Default page priority if the page have no own priority setPage priority will be calculated by:

( [page priority] – [priority modificator] ) * ( 1/[page depth] * [page multiplier] )

Default

1

Page priority depth multiplier

Metatag

Page priority depth multiplier

Description

Page depth multiplier, see formula in page priority

Default

1

Page priority depth modificator

Metatag

Page priority depth modificator

Description

Page depth modificator, see formula in page priority

Default

1

Backend Modules

SEO Page Module (Website → SEO)

The SEO page module provies an overview for all seo relevant informations (including possibility to edit this informations on click).

Metatags

Module

Metatags

Description

Overview for all relevant metatags

Geo position

Module

Geo position

Description

Overview for geo positioning

SearchEngines

Module

SearchEngines

Description

Overview for all relevant search engine settings including sitemap stuff

URL Handling

Module

URL Handling

Description

Overview for all relevant url handling stuff including RealURL support and possibility to simulate the url.

Pagetitle

Module

Pagetitle

Description

Overview for all relevant pagetitle informations and possibility to simulate the pagetitle.

Pagetitle simulator (Slow!)

Module

Pagetitle simulator (Slow!)

Description

Simulates the pagetitle generation for the current selected tree.The generation time depends of the number of TypoScript-Setup Templates in the selected tree. Don't use this features if you have more than ~5 templates.

SEO Control Center (SEO → Control Center)

The SEO control center lists all your root-pages in your TYPO3 installation. For each root page you can control specific sitemap and robots.txt settings.

img-11

SEO Sitemap (SEO → Sitemap)

The SEO sitemap module provides access to the indexed sitemap list.

img-12

Advanced manipulations (stdWrap support)

If you want to modify some things you can use stdWraps

Metatags

plugin.tq_seo.metaTags.stdWrap.title

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.title

Description

Manipulation for title

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.description

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.description

Description

Manipulation for description

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.keywords

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.keywords

Description

Manipulation for keywords

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.language

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.language

Description

Manipulation for language

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.email

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.email

Description

Manipulation for email

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.author

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.author

Description

Manipulation for author

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.publisher

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.publisher

Description

Manipulation for publisher

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.distribution

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.distribution

Description

Manipulation for distribution

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.rating

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.rating

Description

Manipulation for rating

Type

stdWrap

plugin.tq_seo.metaTags.stdWrap.lastUpdate

TypoScript Node

plugin.tq_seo.metaTags.stdWrap.lastUpdate

Description

Manipulation for last update (date)

Type

stdWrap

Pagetitle

plugin.tq_seo.pageTitle.stdWrap.before

TypoScript Node

plugin.tq_seo.pageTitle.stdWrap.before

Description

Manipulation of the raw page title (before TQ-Seo processing)

Type

stdWrap

plugin.tq_seo.pageTitle.stdWrap.after

TypoScript Node

plugin.tq_seo.pageTitle.stdWrap.after

Description

Manipulation of the processed page title (after TQ-Seo processing)

Type

stdWrap

plugin.tq_seo.pageTitle.stdWrap.sitetitle

TypoScript Node

plugin.tq_seo.pageTitle.stdWrap.sitetitle

Description

Manipulation of the sitetitle (from the TS-Setup-Template)

Type

stdWrap

Google Analyitics / Piwik customizations

Customization codes (fast/simple)

You can add additional javascript code to the default Google Analytics and/or Piwik integration.

plugin.tq_seo.services.googleAnalytics.customizationCode

TypoScript Node

plugin.tq_seo.services.googleAnalytics.customizationCode

Description

Customization Code for Google Analytics

Type

TS-Content Object(TEXT, COA, ...)

plugin.tq_seo.services.piwik.customizationCode

TypoScript Node

plugin.tq_seo.services.piwik.customizationCode

Description

Customization Code for Piwik

Type

TS-Content Object(TEXT, COA, …)

Example for Google Analytics in TypoScript-Setup:

plugin.tq_seo.services.googleAnalytics.customizationCode = COAplugin.tq_seo.services.googleAnalytics.customizationCode {10 = TEXT

10.value (

_gaq.push(['_setClientInfo', false]);

_gaq.push(['_setAllowHash', false]);

_gaq.push(['_setDetectFlash', false]);

_gaq.push(['_setDetectTitle', false]);

)}

Template customization (advanced)

The Google Analytics and Piwik integration is done by using a FLUIDTEMPLATE object in TypoScript. If you don't like the integration and want to modify the integration feel free to use your own templates and pass your own variables to FLUIDTEMPLATE.

plugin.tq_seo.services.googleAnalytics.template

TypoScript Node

plugin.tq_seo.services.googleAnalytics.template

Description

Template rendering object for Google Analytics(contains a FLUIDTEMPLATE)

Type

COA

plugin.tq_seo.services.piwik.template

TypoScript Node

plugin.tq_seo.services.piwik.template

Description

Template rendering object for Piwik(contains a FLUIDTEMPLATE)

Type

COA

It's quite easy, for more information read:

Example for your own Google Analytics Template:

## Google Analytics template

plugin.tq_seo.services.googleAnalytics.template.10.file = fileadmin/templates/service-ga.html

## if you need some variables you also can set these:

plugin.tq_seo.services.googleAnalytics.template.10.variables {

myOwnStuff = TEXT

myOwnStuff.value = foobar

}

Scheduler tasks

TQ SEO Cleanup

Task

TQ SEO Cleanup

Description

This task cleans up old database entries in the tx_tqseo_sitemap table.

Frequency

One run per day

TQ SEO sitemap.txt builder

Task

TQ SEO sitemap.txt builder

Description

This task builds a real sitemap.txt file in the upload directory.Directory: uploads/tx_tqseo/sitemap_txt/Sitemap: sitemap-r{ROOTPID}.txt.gz

If language domain support is active:

Sitemap: sitemap-r{ROOTPID}-l{LANG}.txt.gz

{ROOTPID} is the Page-UID from the root pages in your TYPO3 installations.{LANG} is the language id (only active if language domains are active).

Hint: These files are already gziped.

Frequency

One run per day

TQ SEO sitemap.xml builder

Task

TQ SEO sitemap.xml builder

Description

This task builds a real sitemap.xml files in the upload directory.Directory: uploads/tx_tqseo/sitemap_xml/Sitemap-Index: index-r{ROOTPID}.xml.gzSitemap-Page: sitemap-r{ROOTPID}-p{PAGE}.xml.gz

If language domain support is active:Sitemap-Index: index-r{ROOTPID}-l{LANG}.xml.gzSitemap-Page: sitemap-r{ROOTPID}-l{LANG}-p{PAGE}.xml.gz

{ROOTPID} is the Page-UID from the root pages in your TYPO3 installations.

{PAGE} is the current page of the sitemap.

{LANG} is the language id (only active if language domains are active).The index will refer to all page sitemaps so you only have to reference to the sitemap index.

Hint: These files are already gziped.

Frequency

One run per day

FAQ

General

Problem: Is this extension mutli-language and/or multi-tree ready?

Solution: Check it out, there should be no problems at all with multi-language multi-tree TYPO3-installations.

Problem: In my TYPO3 the feature XYZ of this extension doesn't work. What's wrong?

Solution: The tq_seo-Extension was carefully written. We're at TEQneers what to deliver correct pages and extensions will the power of the TYPO3 caching system (and those extensions are the fastest). For some features (eg. sitemap, canonical-tag) we have to trust in the caching-system – it's the only way to make sure that we don't deliver wrong informations to our search engines. If our extension doesn't work correct in your TYPO3 installation maybe there is something wrong – maybe the configuration, your setupTS or one of your extension.

Indexed Sitemap

Problem: The sitemap is empy.

Solution: Check if you created the “tx_tqseo_sitemap_pages” database-table! We're using InnoDB as MySQL-Engine so you have to make sure that you have InnoDB-Support in your Hosting-Account (if not you should switch your hoster, InnoDB is a Standard-Feature in MySQL). As with 2.0.1 there is an error-message if the table doesn't exist.

Problem: My sitemap is still empty, but the database is ok.

Solution: Maybe you disabled the whole TYPO3 cache (config.no_cache=1 or somehthing else)? Enable the cache – this will also speed up your TYPO3 installation.

Problem: The generated pages from my extension are not included in the sitemap!

Solution: You have to make sure that all generated pages are cacheable. The extension has to pass a valid cHash-token!

Problem: There is only one site in my XML-Sitemap, what's wrong? In the sitemap-database are thousands of pages.

Solution: That's correct. TQ_Seo always uses “Sitemap Groups” (as defined in http://www.sitemaps.org/protocol.php#index), each group can contain about 50.000 pages/urls so if we have more than 50.000 urls we have to use sitemap groups. Visit the url defined in the LOC-tag and you will see that the sub-sitemap will contain all your stored URLs.

Problem: The generated pages from my extension still are not included in the sitemap!

Solution: You've enabled RealURL? Please check the RealURL configuration if you have specified values that are not passed with your url. All variables that are not passed with the url will result in a NO-CACHE.

Problem: The sitemap is still not working! No page is indexed and the table tx_tqseo_sitemap_pages is empty!

Solution: Double check your installation and disable all third- party extensions, make sure that no extension disables the TYPO3-cache! RealUrl (if properly configured) and TemplaVoila are working wonderfull with TQ Seo Sitemap but some old extensions might break the TYPO3 caching system and you will not notice it. Our sitemap indexer relies on the indexing system to make sure that only valid urls are stored and delivered to the search engines like google.

Problem: I want to limit each sitemap to it's domain (eg. example.com for english pages, example.de for german pages). Is this possible?

Solution: Yes, just enable the “Enable language-domain support” in seo control center in your website/rootpage settings.(replaces the old extension configuration sitemap_ObeySysLanguage and TypoScript constants setting).

Problem: My tt_news entries are not indexed, what's wrong?

Solution: You're using realurl? Then check your realurl_conf.php. Errors (or misconfiguration) in the realurl-configuration will produce uncacheable sites (and you will not notice it). The most common issue is the configuration of the parameter “tx_ttnews[swords]” in the postVarSets-area. Remove it, you don't need it.

Others

Problem: I want to customize my google Analytics and/or piwik integration.

Solution: You can modify the code of the google analytics and piwiki integration with typoscript. Feel free to use plugin.tq_seo.services.googleAnalytics.customizationCode (STDWRAP) or plugin.tq_seo.services.piwik.customizationCode (STDWRAP). Also you can modify the FLUIDTEMPLATE and assign custom variables.

RealURL configuration

If you want to activiate “real” sitemap.xml feature (eg. http://example.com/sitemap.xml ), configure realurl like this:

<?php

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(

'init' => array(

// ...

),

'preVars' => array(

// ...

),

'fixedPostVars' => array(

// ...

),

'postVarSets' => array(

'_DEFAULT' => array(

// TT-NEWS (example configuration)

'date' => array(

array(

'GETvar' => 'tx_ttnews[year]' ,

),

array(

'GETvar' => 'tx_ttnews[month]' ,

'valueMap' => array(

'january' => '01',

'february' => '02',

'march' => '03',

'april' => '04',

'may' => '05',

'june' => '06',

'july' => '07',

'august' => '08',

'september' => '09',

'october' => '10',

'november' => '11',

'december' => '12',

),

),

array(

'GETvar' => 'tx_ttnews[day]',

),

),

// news pagebrowser

'browse' => array(

array(

'GETvar' => 'tx_ttnews[pointer]',

),

),

// news categories

'news-category' => array (

array(

'GETvar' => 'tx_ttnews[cat]',

'lookUpTable' => array(

'table' => 'tt_news_cat',

'id_field' => 'uid',

'alias_field' => 'title',

'addWhereClause' => ' AND NOT deleted',

'useUniqueCache' => 1,

'useUniqueCache_conf' => array(

'strtolower' => 1,

'spaceCharacter' => '-',

),

),

),

),

// news articles

'article' => array(

array(

'GETvar' => 'tx_ttnews[tt_news]',

'lookUpTable' => array(

'table' => 'tt_news',

'id_field' => 'uid',

'alias_field' => 'title',

'addWhereClause' => ' AND NOT deleted',

'useUniqueCache' => 1,

'useUniqueCache_conf' => array(

'strtolower' => 1,

'spaceCharacter' => '-',

),

),

),

),

// ... other extensions ...

),

),

'fileName' => array(

'defaultToHTMLsuffixOnPrev' => 1,

'index' => array(

// ...

'sitemap.xml' => array(

'keyValues' => array(

'type' => 841132,

),

),

'sitemap.txt' => array(

'keyValues' => array(

'type' => 841131,

),

),

'robots.txt' => array(

'keyValues' => array(

'type' => 841133,

),

),

'_DEFAULT' => array(

'keyValues' => array(

'type' => 0,

)

),

),

),

'pagePath' => array(

'type' => 'user',

'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realur l_advanced->main',

'spaceCharacter' => '-',

'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title',

'languageGetVar' => 'L',

'expireDays' => 30,

'rootpage_id' => 1,

),

);

?>

Hooks

All hooks are defined in docs/examples/hooks.php (available with short description).

Beta-Features

- TypoLink Sitemap parser

Suggested Extensions

  • sourceopt: HTML sourcecode optimization
  • realurl/cooluri: Link SEO optimization

Known problems

  • Don't use another SEO-extension like metatags
  • Sourceopt might break sitemap-txt output, xml is still fine (Sourceopt 0.5.17 fixes this, please update)

To-Do list

  • RealURL autoconfiguration
  • SEO page module with language support

Found a bug? Problems?

The bugtracker can be found on TYPO3-forge:

http://forge.typo3.org/projects/extension-tq_seo

<mailto:blaschke@teqneers.de>`_ or info@teqneers.de .

ChangeLog

Version 5.0

  • Added possibility to manipulate/overwrite “sitetitle” (from TS-Setup- Template)
  • Implemented seo page-module
  • Added support for Google+ Direct Connect
  • Impoved ui (backend modules)
  • Fixed several bugs

Version 4.0

  • Google Analytics and Piwik uses now asynchronous implementation
  • Some settings (eg. language-lock for sitemap) are moved to SEO → “Contol Center”
  • Implemented sitemap and control center as backend module
  • Implemented robots.txt-support

33