====== General Settings ======
This is the general settings page for the SEO addon settings.
Note:
This feature does not create files within the system. It only rewrites the urls used by the system following the instructions in the htaccess file so that they do not appear like dynamic website urls which contain a lot of data within the query string of the url. By "moving" the data passed within the query string into the url itself it is believed that the urls produced are much more "human readable" and descriptive to search engines.
===== SEO Configuration =====
==== Changes to .htaccess Needed ====
This will be displayed when you have updated the SEO addon, and changes to the addon require that the .htaccess file are re-generated, and applied to your .htaccess file. In most cases, the //old// .htaccess file will continue to work, but will not be taking advantage of new features in the new version of the SEO addon.
In cases where the URL will be changed, once you do re-generate the .htaccess file to start using the //new// URL, if an //old// URL is used (such as an old bookmark, or if an old URL is still indexed by a search engine), visiting the //old// URL will redirect (301 permanent redirect) to the //new// URL. Doing this will require that [[#Force SEO URL's]] is turned on, and as noted in that setting's documentation, may not work for all servers.
=== Updates requiring .htaccess Changes ===
So far, there are 3 updates that require changes to the .htaccess file in order to take advantage of new features.
**Note:** We now recommend that you re-generate the .htaccess file any time the SEO addon needs to be updated. The versions listed below are the "main" versions that changes to the .htaccess file were required, but it does not list every single version that requires the .htaccess to be updated. Also if any other addons "use" SEO URL's, such as the Storefront addon, the .htaccess may need to be updated for changes from those addons. The best practice is any time the SEO addon is updated, go ahead and re-generate the .htaccess contents.
== SEO 2.0.0 ==
When you update from SEO 1.0.0 (used for Geo 3.1.9 and earlier versions) to SEO 2.0.0 or higher: The first time you attempt to access the SEO settings, it will inform you that proceeding will require changes to your .htaccess and will make it start using the newer format for URL's. Before that, it will still re-write URL's in the same way that was done in SEO 1.0 so that your existing URL's will not suddenly "break" when you update.
== SEO 2.1.0 ==
In SEO version 2.0.*, the titles that are used in the URL (such as the Category title or listing title) used underscores "_" for the word separator. Starting in SEO 2.1.0 and up, it now uses dashes "-" to separate words, since this is [[http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=76329|Google's recommended word separator]]((And who are we to argue with Google?)).
This change requires changes to the .htaccess file, therefore until you re-generate the .htaccess file, the SEO will continue to generate the URL using underscores for the word separator. And to make it clear that you are still using underscores, it will display the message:
You are still using underscores "_" in titles! Re-generate the .htaccess file
and copy the changes to your .htaccess file to be able to start using dashes
"-" instead.
== SEO 2.3.0 ==
The title in the URL can now have more than just alpha-numeric characters, such as punctuation and similar. The change was actually done to allow it to work with languages that use non-Latin characters, such as Arabic. These changes however, require that the .htaccess file is re-generated.
==== Re-Write URLs ====
This is the main on/off switch for the SEO addon. It allows you to enable or disable the re-writing of URL's without having to enable/disable the addon itself like was done in SEO 1.0 (Although, you can still disable URL re-writing by disabling the SEO addon).
==== Apply All Settings ====
Changing the URL settings will not have an effect on your site, until you click the "Apply All Settings" button. This is to give you time to set up your URLs how you want them, and in the mean time the links won't be broken on your site.
Click the button, then it will display a warning. If you are sure you want to apply the settings, click "Yes". Then it will display the new generated .htaccess contents. You will need to copy/paste the generated contents to your .htaccess file and upload the changes. Failure to do this can result in broken links.
**Warning:** When you click "Apply All Settings", you need to copy/paste the new .htaccess contents to your .htaccess file and upload the changes. If you don't do this, it will result in **broken links** on your site!
==== Select All ====
If there are new .htaccess contents being displayed, click this button to select the contents of the .htaccess file. You would then copy (CTRL+C in Windows) the text and paste into your .htaccess file.
===== Customize Re-Written URLs =====
This will list all of the different types of URL that can be re-written, along with a link to edit the configuration of any of the different types. Underneith each one it will list an example of what the URL might look like, note that this will display the //live// settings, so if you've made changes to a URL it will not be reflected here (or on the site) until you click on the [[#Apply All Settings]] button.
**Warning:** The URL Configuration is able to be changed for every different type of URL, but is meant to be changed when you are first setting up your site. It will **not create re-directs from "old" configurations to "new" configurations**. If you wish to change a URL configuration and need the //old// configuration URL to re-direct to the //new// configuration URL, you will need to manually create such a re-direct in your .htaccess file.
Note that this only applies to changes to the URL configurations (for instance, changing "category" to "cat" or removing it altogether from the category URL's configuration). Some things **do** automatically redirect and will be documented on this page, for example if you have the [[#Force SEO URLs]] turned on and you re-name a category.
===== Titles in Re-Written URLs =====
Note: Changing any settings in this section **does not** require re-generating the .htaccess file.
==== Convert Accents ====
Turning this setting on (checked): Accented characters((For the purposes of this setting, this includes characters that have a Grave, acute, Circumflex, tilde, or Umlaut.)) found in a title inserted in an URL will be converted into the non-accented equivalent.
=== Example: ===
A listing titled "¿Dónde está el baño?":
**Setting Enabled:**\\
www.example.com/categorias/83/cuestiones-importantes/anuncios/423/¿D**o**nde-est**a**-el-ba**n**o.html
**Setting Disabled:**\\
www.example.com/categorias/83/cuestiones-importantes/anuncios/423/¿D**ó**nde-est**á**-el-ba**ñ**o.html
Only turn this setting on if you need it! It will cause the software to have to do a lot of extra work if you turn this on when it is not needed.
=== Charset Compatibility Warning ===
This setting is known to work with the following charsets:
* UTF-8 (considered //safest// charset)
* ISO-8859-1
* Any other charset: Be sure to test thoroughly as the results of the conversion may be unreliable. If possible, we recommend using UTF-8 as your site-wide charset to avoid possible conversion problems.
If turning this on converts accented characters to the wrong thing, you are most likely not using one of the //safe// charsets. If this happens for you, you may have to turn the feature off as it will not work with your charset.
==== Replace & with ====
This setting affects how & in titles are displayed in a URL that has been re-written by the SEO addon to be search engine friendly.
The SEO addon can include titles in the URL, for example the category name if viewing a category, or the listing title if viewing a certain listing. When it does this however, it must "clean up" the title so that it is suitable for using in an URL. It needs to replace spaces, and any characters that are not alpha-numeric.
When the character **&** is found in a title, it will be converted to whatever you set this setting to. The default is to convert it to **-and-**.
Here's an example of how the setting would affect the URL:
Replace & with: **-ampersand-**\\
Category Name: **DVDs & Movies**\\
Name in URL: **DVDs-ampersand-Movies**
===== Advanced Settings =====
These are advanced settings.
==== Omit FollowSymlinks line ====
If checked, this will OMIT the following line when generating the contents of the .htaccess file for you to copy/paste:
Options +FollowSymlinks
Some servers produce a 500 internal server error, when using the line noted above. Other servers will not work without the line noted above. If SEO re-written URLs are not working, or if you are getting a 500 server error on re-written URLs, check or un-check the setting. Then Apply All and re-copy the contents for the .htaccess file.
Changing this setting affects the generated .htaccess file.
==== Include SEO 1.0 URLs ====
Turn this on if you previously used the SEO 1.0 version for any length of time, and search engines have the URLs used by that version still indexed.
This will add additional lines to the generated .htaccess file contents necessary so that "old" links will re-direct (301) to the new URLs.
Once search engines have had time to update their indexes to the new URLs for your site (usually after a few months), you can turn this back off and re-generate the .htaccess file contents. If you suspect that there are still other sites that link to yours that still use the old-style URL's, you will want to keep this turned on.
**Changing this setting requires re-generating the .htaccess file.**
==== Force SEO URLs ====
Simply put, turning this on will force a 301 permanent redirect from an //incorrect// URL to the //correct// URL.
Changing this setting **does not** require re-generating the .htaccess file.
**Warning:** Turning this on can cause problems on some servers, or if certain settings are not set correctly in your admin. See [[#Server Compatibility Warning]] below for more info.
To clarify what we mean by redirecting from an //incorrect// URL to a //correct// URL, see the following examples of some URL's that would result in a 301 redirect to the new or correct re-written URL.
All the following URL examples use a URL for a listing with the following criteria:
**listing ID:** 1234\\
**Listing Title:** Batman Begins\\
**Listing Category ID:** 111\\
**Listing Category Title:** DVDs & Movies\\
**Correct URL:** /category/111/DVDs-and-Movies/listings/1234/Batman-Begins.html
**Note:** The domain name is left off of every URL in this example to make things easier.
^ Old or Alternate URL ^ Info ^
| /index.php?a=2&b=1234 | The URL as it would be if the SEO addon was turned off completely. In other words, the URL is not re-written at all, when it should be. |
| /index/listings/page111.htm | This is the URL as it would have been re-written in SEO 1.0.*. Note that for this to be re-directed to the //new// URL correctly, the [[#Include SEO 1.0 URLs]] setting must be enabled. |
| /category/111/DVDs**_**and**_**Movies/listings/1234/Batman**_**Begins.html | Any URL's from SEO 2.0.* that used underscore **"_"** instead of Google's recommended dash **"-"** for the word separator. |
| /category/111/DVDs-**or**-Movies/listings/1234/Batman-Begins**s**.html | Any of the //title// parts of the URL are incorrect or have changed. This includes instances when a category or listing's title has been changed((That's right, you do not need to worry about //duplicate content// if you decide to change the title on a category, or if one of your users decides to change the title of their listing. In such cases, the next time the search engine parses an indexed page, it will see the 301 redirect to the //new// URL.)). |
If any of the URL's were visited, and you have the **Force SEO URLs** setting turned on, it will automatically do a 301 redirect to the //correct// URL, which for the example above would be ///category/111/DVDs-and-Movies/listings/1234/Batman-Begins.html//.
Use this to help prevent duplicate pages with the same content, which can have a negative effect on search engine rankings. We recommend turning this feature on, as long as your site does not have any problems when it is turned on.
=== Server Compatibility Warning ===
The [[#Force SEO URLs]] feature relies on 3 things to work:
* [[admin_menu/site_setup/general_settings/start#Site URL]] set in your admin, for NON-SSL pages.
* [[admin_menu/site_setup/general_settings/start#Secure SSL Site URL]] set in your admin, for SSL pages.
* **_SERVER[REQUEST_URI]** as reported by the server. If you have the above 2 admin settings set correctly and still have problems with turning on [[#Force SEO URLs]], most likely your server is not reporting **REQUEST_URI** the standard way (or possibly not at all).
Since it relies on the above 3 things to detect whether the current URL is //correct// or not, if any of them are not working properly, it can **break** the site to turn on [[#Force SEO URLs]]. If you turn the feature on, make sure that it does not cause //endless redirects// or cause it to redirect to the wrong URL, when you visit a re-written URL. It is rare, but if you do experience any problems, turn the feature back off immediately if your site is live, until you are able to determine cause.
**Technical details:**
* If the [[admin_menu/site_setup/general_settings/start#Site URL]] or [[admin_menu/site_setup/general_settings/start#Secure SSL Site URL]] is set incorrectly, it can re-direct to the wrong place or cause //endless redirects//, or any number of different problems depending on what you have those settings set to, so be sure they are set correctly according to the linked help page.
* If your server //improperly// reports the **REQUEST_URI** of the page, it can cause "endless redirects".
* If your server //does not// report the **REQUEST_URI** at all, the force SEO URL feature will simply have no effect when turned on.
===== Extra Page Urls =====
This support wiki article has been [[startup_tutorial_and_checklist:usability_configuration:seo:seo_rewrite_extra_pages|moved here]]