Search engine optimization (seo)

Description

How to make Plone more search engine aware

Introduction

Plone is very search-engine friendly out of the box.

You can further fine-tune your search engine optimizations with PloneSEO add-on

robots.txt

You probably want to exclude following from the search engine listing

  • Your image bank
  • All search listings
  • Login form
  • Send to form
  • ... generally all forms

See

Procedural robots.txt

Below is an example how to generate robots.txt in ZMI Python script. It prevents accidental indexing of the site from non HTTP 80 ports if you need to leave Zope direct port open for the world for some reason.

Create new Script (Python) in your site root in ZMI:

url = context.absolute_url()

# This is our direct Zope port
if ":9980" in url:
    return "Disallow: *\n"


robots="""
# Normal robots.txt body is purely substring match only
# We exclude lots of general purpose forms which are available in various mount points of the site
# and internal image bank which is hidden in the navigation tree in any case
User-agent: *
Disallow: set_language
Disallow: login_form
Disallow: sendto_form
Disallow: /images

# Googlebot allows regex in its syntax
# Block all URLs including query strings (? pattern) - contentish objects expose query string only for actions or status reports which
# might confuse search results.
# This will also block ?set_language
User-Agent: Googlebot
Disallow: /*?*
Disallow: /*folder_factories$

# Allow Adsense bot on entire site
User-agent: Mediapartners-Google*
Disallow:
Allow: /*
"""

return robots

Table Of Contents

About Plone

This is documentation for Plone®. Plone is a popular, open source, content management system written in Python programming language.




Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Go to Search engine optimization (seo) on GitHub.
  2. Press Fork and edit this file button.
  3. Edit file contents using GitHub's text editor in your web browserm
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on Github.

For basic information about updating this manual and Sphinx format please see Writing and updating the manual guide.