LG Better Meta v1.9.0 Improve your sites SEO with custom page titles, descriptions, robot meta tags, sitemap generator and more.
Surge up the search engine rankings with custom weblog entry meta and XML sitemaps.
LG Better Meta is only ExpressionEngine addon that allows you to optimise your weblog entries search engine meta data without setting up tedious custom fields and complicated templates. Easy to use and fully documented it's the must have EE addon.
Purchase a commercial license for a single domain (unlimitedsub-domains) and receive email and forum support while feeling goodabout supporting independent ExpressionEngine developers.
Only $49.95 $39.95 (holiday special) per license. Register to purchase!
1. Overview Top
It's never been easier or faster to create XML site maps and add SEO meta data (descriptions, page titles, geo, publish information & more) to your ExpressionEngine weblog entries. Using the beautiful UI and powerful customisation features, LG Better Meta will boost your SERPS (Search Engine Rankings).
LG Better Meta is a Multi-Site Manager compatible ExpressionEngine addon and comes in two parts, a simple to install extension and a plugin.
2. Features Top
The LG Better Meta extension adds a new tab to the publish and edit tabs of the ExpressionEngine control panel. The included plugin renders the individual entry and site meta data and when used correctly will create SEO optimised pages and search engine XML sitemaps.
LG Better Meta provides an interface to add the following meta data to a template or weblog entry:
- Author
- Page title
- Page description
- Keywords
- Publisher
- Rights
- Identifier
- Date created
- Date modified
- Date valid
- Instructions for robots
- Site title
- Priority
- Change frequency
- Canonical URL
- Geo location
LG Better Meta is also:
- Fully documented
- Multi-Site Manager compatible - Independent extension settings and meta defaults for each site
- LG Addon Updater compatible
- Actively developed by the "ExpressionEngine developer of the Year"
- Runner up for ExpressionEngine extension of the year in the First Annual AcademEE Awards
3. Screenshots Top
LG Better Meta features a beautiful and intuitive UI rarely seen in 3rd party ExpressionEngine addons.
3.1. Publish tab Top
3.2. Extension settings Top
4. Requirements Top
LG Better Meta is an ExpressionEngine extension & plugin which has been tested on ExpressionEngine 1.6.4+.
For the control panel to function correctly, the user must have javascript enabled and be using a modern web browser (anything better than IE6).
5. User Guide Top
5.1. Download Top
LG Better Meta can only be downloaded from your member account after it has been purchased.
5.2. Installation Top
To install LG Better Meta follow the instructions below:
- Purchase and download the latest version of LG Better Meta
- Extract the .zip to your desktop or similar folder where you can find it easily
- Copy /system/extensions/ext.lg_better_meta.php file into /system/extensions/
- Copy /system/lib/lg_better_meta directory into /system/lib/
- Copy /system/plugins/pi.lg_better_meta_pl.php file into /system/plugins/
- Copy /system/languages/english/lang.lg_better_meta.php file into /system/languages/english/
- Copy /themes/cp_themes/default/lg_better_meta directory into /themes/cp_themes/default/
- Copy /themes/cp_themes/default/Morphine directory into /themes/cp_themes/default/
- Copy /themes/cp_global_images/* directory into /themes/cp_global_images/
5.3. Activation Top
To activate LG Better Meta:
- Open the Extensions Manager in your site's control panel
- Enable Extensions if not already enabled
- Enable LG Better Meta
- Configure and save the extension settings for each of your sites
5.4. Configuration Top
LG Better Meta is extremely customisable on an entry and template level, but it's always good to start with some defaults. The following extension settings are used as the default values of the {exp:lg_better_meta_pl:template} & {exp:lg_better_meta_pl:entries} tags if no other parameters are passed.
Extension access
Enable LG Better Meta extension for this site? [required]
Enabling LG Better Meta will add a new tab in the publish / edit form to collect entry specific meta data.
Which member groups are allowed to edit an entry's meta data? [required]
The meta tab will only be displayed for members of the selected groups.
Publish tab customisation
Each weblog can be individually configured to display only the relevant options in the meta tab, or if desired a particular weblog can not show the tab at all. The following options are shown for each weblog.
Publish tab
Show the meta tab for this weblog. If this option is No, then none of the other display options for this weblog are necessary and will not be shown.
Title
Show the title meta input in the Better Meta admin tab.
Description
Show the description meta textarea in the Better Meta admin tab.
Keywords
Show the keyword meta input in the Better Meta admin tab.
Author
Show the author meta input in the Better Meta admin tab.
Publisher
Show the publisher meta input in the Better Meta admin tab.
Rights
Show the rights meta input in the Better Meta admin tab.
Canonical Url
Show the canonical url input in the Better Meta admin tab.
Robots
Show the robots meta options in the Better Meta admin tab.
Sitemap Meta
Show the sitemap meta options in the Better Meta admin tab.
Geolocation
Show the geo meta options in the Better Meta admin tab.
Default meta values
The default meta values are used as a base when displaying site and entry meta data. They can be overridden on a per-entry basis in the publish/edit form or through the plugin parameters.
Site title [optional]
Newcastle web design and development | leevigraham.com
The site title will be appended to the entry title separated by the site page title divider.
Site page title divider [required]
The page title divider divides the site title and entry title. Pipe characters "|" will automatically be replaced with the site page title divider character.
Site description [optional]
Leevi Graham (Technical Director, Newism) is an award winning ExpressionEngine developer based in Newcastle Australia focussing on CMS, blog and website design and development.
A short description of the entry entry content.
Google displays the description in its search results under the page title. To display correctly in Google search results, the description should be no longer than 150 characters.
Site keywords [optional]
Web design, web development, ExpressionEngine, addons, extensions, plugins, modules
Keywords are not used by any of the major search engines, however they do make you focus on your content.
Typically, the topic will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary.
Site author [optional]
Leevi Graham
The person or organisation primarily responsible for creating the intellectual content of the website. For example, authors in the case of written documents, artists, photographers, or illustrators in the case of visual resources.
Site publisher [optional]
Leevi Graham
An entity responsible for making the site content available. Examples of a Publisher include a person, an organization, or a service.
Site rights [optional]
Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license (http://creativecommons.org/licenses/by-nc-sa/3.0/) unless otherwise stated
Information about rights held in and over the site content. Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights.
Geolocation meta defaults
Geo meta tags describe the position of the resource described in the entry. As the vast majority of entries will originate from the same location, you can save time by specifying a default location and only overriding it when necessary.
Region [optional]
AU-NSW
The site region is a combination of country code and region code (joined with a dash "-") as defined by ISO3166-1 & ISO3166-2.
Place name [optional]
Newcastle
The site place name is a name as defined by the Getty Thesaurus of Geographic Names.
Latitude [optional]
-32.9167
Latitude is defined using numerals that have a precision to 6 decimal places. For example, "-32.9167" is a valid geocode latitude value. Precision beyond the 6 decimal places is ignored.
Longitude [optional]
151.7667
Longitude is defined using numerals that have a precision to 6 decimal places. For example, "151.7667" is a valid geocode longitude value. Precision beyond the 6 decimal places is ignored.
Robots
Set the default behaviour of search engine robots.
Index Pages
Instruct search engines to index pages.
Follow External Links
Instruct search engines to follow external links.
Archive Pages
Instruct search engines to archive pages.
Sitemap meta defaults
Each weblog has its own default sitemap meta defaults. These defaults are used in the {exp:lg_better_meta_pl:entrie_xmls} and {exp:lg_better_meta_pl:entries} tag.
Include in sitemap?
Display this entry in the {exp:lg_better_meta_pl:entries_xml} and {exp:lg_better_meta_pl:entries} tag.
Change frequency
always ... never
How frequently the page is likely to change. This value provides general information to search engines and may not correlate exactly to how often they crawl the page. Valid values are:
- always
- hourly
- daily
- weekly
- monthly
- yearly
- never
The value "always" should be used to describe documents that change each time they are accessed. The value "never" should be used to describe archived URLs.
Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers may consider this information when making decisions, they may crawl pages marked "hourly" less frequently than that, and they may crawl pages marked "yearly" more frequently than that. Crawlers may periodically crawl pages marked "never" so that they can handle unexpected changes to those pages.
For more information see: http://sitemaps.org/protocol.php#changefreqdef
Priority
0.0 ... 1.0
The priority of this URL relative to other URLs on your site. Valid values range from 0.0 to 1.0. This value does not affect how your pages are compared to pages on other sites—it only lets the search engines know which pages you deem most important for the crawlers.
The default priority of a page is 0.5.
Please note that the priority you assign to a page is not likely to influence the position of your URLs in a search engine's result pages. Search engines may use this information when selecting between URLs on the same site, so you can use this tag to increase the likelihood that your most important pages are present in a search index.
Also, please note that assigning a high priority to all of the URLs on your site is not likely to help you. Since the priority is relative, it is only used to select between URLs on your site.
For more information see: http://sitemaps.org/protocol.php#prioritydef.
Meta template
The meta template is rendered using the {exp:lg_better_meta_pl:template} tag. Variables wrapped in curly braces '{}' are replaced with their corresponding meta values.
Site Meta Template
<title>{title}</title>
<meta name="description" content="{description}" />
<meta name="keywords" content="{keywords}" />
<meta name="robots" content="{robots}" />
<meta name="geo.position" content="{latitude},{longitude}" />
<meta name="geo.placename" content="{placename}" />
<meta name="geo.region" content="{region}" />
{if canonical_url} <link rel="canonical_url" href="{canonical_url}" /> {/if}
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DC.title" content="{title}" />
<meta name="DC.creator" content="{author}" />
<meta name="DC.subject" content="{keywords}" />
<meta name="DC.description" content="{description}" />
<meta name="DC.publisher" content="{publisher}" />
<meta name="DC.date.created" scheme="DCTERMS.W3CDTF" content="{date_created}" />
<meta name="DC.date.modified" scheme="DCTERMS.W3CDTF" content="{date_modified}" />
<meta name="DC.date.valid" scheme="DCTERMS.W3CDTF" content="{date_valid}" />
<meta name="DC.type" scheme="DCTERMS.DCMIType" content="Text" />
<meta name="DC.rights" scheme="DCTERMS.URI" content="{rights}">
<meta name="DC.format" content="text/html" />
<meta name="DC.identifier" scheme="DCTERMS.URI" content="{identifier}" />
For a detailed list of the available variables, see the {exp:lg_better_meta_pl:template} variable list.
For more information about DC tags visit the The Dublin Core Metadata Initiative.
Check for updates
Would you like this extension to check for updates and display them on your CP homepage?
If you allow it LG Better Meta can call home and check for recent extension updates. This feature requires LG Addon Updater.
5.5. Upgrade Notes Top
Before attempting any upgrade make sure you backup your database and ExpressionEngine install.
To upgrade the extension:
- Backup your database and files
- Copy the new files to your ExpressionEngine installation
- Open the Extensions Manager in your sites control panel
- Check the extension settings for each site
- In your ExpressionEngine Control Panel, go to Admin > Utilities > Clear Cached Data Files. Select All cache files and submit the form to clear out your caches.
- Check the version specific notes below
Version specific notes
Please view the update notes that apply to any versions that are newer than the version you have been running.
Version 1.9.0
The extension support files have been moved into the /system/lib/ directory. Delete existing folder /system/extensions/lg_better_meta/
Version 1.8.0
The plugin file was renamed from pi.lg_better_meta_pi.php to pi.lg_better_meta_pl.php. Delete the old plugin file, and update all instances of {exp:lg_better_meta_pi:template} to {exp:lg_better_meta_pl:template}
Version 1.7.0
The plugin file was renamed from pi.lg_better_meta.php to pi.lg_better_meta_pi.php. Delete the old plugin file, and update all instances of {exp:lg_better_meta} to {exp:lg_better_meta_pi:template}
6. Reference Guide Top
6.1. {exp:lg_better_meta_pl:template} Top
This tag renders the meta template replacing all the curly braced variables with the appropriate content.
The tag has only one requirement, either the entry_id or url_title parameter must be set in the tag.
Parameters
entry_id= [optional]
entry_id="1"
entry_id="{segment_3}"
The entry_id of a weblog entry. To display entry specific meta either entry_id or url_title is required.
Hint: Use url segments to display entry specific meta.
url_title= [optional]
url_title="my_hardcoded_url_title"
url_title="{segment_3}"
The url_title of a weblog entry. To display entry specific meta either entry_id or url_title is required.
Hint: Use url segments to display entry specific meta.
title= [optional]
title="LG Better Meta"
Overrides the default or entry title and is prepended to the site title, separated by the site page title divider.
title_prefix= [optional]
title="New"
The title prefix will be prepended to the title separated by the site page title divider.
title_suffix= [optional]
title="Documentation"
The title suffix will be appended to the title separated by the site page title divider.
hide_site_title= [optional]
hide_site_title="y"
Remove the site title from the title meta element.
Example: The site title is: "Newism Web Design & Development". Using the the title, title_suffix and title_prefix from above the output would be:
New | LG Better Meta | Documentation | Newism Web Design & Development
Adding hide_site_title="y" to the template tag would produce:
New | LG Better Meta | Documentation
See Get the most out of your homepage for another example.
description= [optional]
description="Add meta data to your ExpressionEngine entries using LG Better Meta. Extension and plugin installation, settings and usage instructions."
Override the entry or default meta description
Google displays the description in its search results under the page title. To display correctly in Google search results the description should be no longer than 150 characters.
keywords= [optional]
keywords="LG Better Meta, ExpressionEngine, Extensions, Plugins, Search Engine Optimisation, SEO, Newcastle Web Design and Development"
Override the entry or default keywords meta
author= [optional]
author="Leevi Graham"
Override the entry or default author meta
publisher= [optional]
publisher="Newism Web Design & Development"
Override the entry or default publisher meta
rights= [optional]
Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license (http://creativecommons.org/licenses/by-nc-sa/3.0/) unless otherwise stated
Override the entry or default rights meta
date_created= [optional]
date_created="2007-09-16T19:20:30+01:00"
Override the entry or default date created meta. This value must be in the W3C date format
ExpressionEngine provides an easy way to create dates in the W3C format.
date_modified= [optional]
date_modified="2007-09-16T19:20:30+01:00"
Override the entry or default date modified meta. This value must be in the W3C date format
ExpressionEngine provides an easy way to create dates in the W3C format.
date_valid= [optional]
date_valid="2007-09-16T19:20:30+01:00"
Override the entry or default date valid meta. This value must be in the W3C date format
ExpressionEngine provides an easy way to create dates in the W3C format.
identifier= [optional]
identifier="http://newism.com.au"
Override the entry or default identifier. The identifier value is an unambiguous reference to the resource within a given context, typically a url.
robots_index= [optional]
robots_index="index" OR robots_index="noindex"
Specifying index will result in robots indexing the page and displaying it in search engine ranking pages while noindex will exclude the page.
robots_follow= [optional]
robots_index="follow" OR robots_index="nofollow"
Specifying follow will result in robots following external links in the page while nofollow will result in links not being followed.
robots_archive= [optional]
robots_archive="archive" OR robots_index="noarchive"
Specifying archive will result in robots archiving the page while noarchive will result in robots not archiving the page.
canonical_url= [optional]
canonical_url="http://example.com/blog/post/{entry_id}/{url_title}"
Override the canonical URL. If your site has multiple URLs showing the same content, you should designate a particular URL to be the canonical (i.e. authorised and true) reference. This is used by search engines so that instead of distributing the content relevance among multiple URLs, they will all be collated to the canonical form.
region= [optional]
region="AU-NSW"
Override the resource region. For more information on geolocation, see Geolocation meta defaults
placename= [optional]
placename="Newcastle"
Override the resource place name.
latitude= [optional]
latitude="-32.9167"
Override the resource latitude.
longitude= [optional]
longitude="151.7667"
Override the resource longitude.
Variables
Variable replacements will be performed upon the tag's contents if it is specified, but otherwise will default to the site-wide meta template. All accepted parameters specified above will be parsed and replaced with their appropriate values, falling back to entry-specific or site-wide default values. In addition, the following variables will be replaced:
- {weblog_id} - Weblog that the current entry belongs to
- {entry_title}, {entry_keywords}, {entry_description} and so on - replaced with entry-specific content, or replaced with FALSE if the entry does not specify a particular field. See How To: Add default description as summary for an example of usage
6.2. {exp:lg_better_meta_pl:entries} Top
Using LG Better 1.8? Checkout {exp:lg_better_meta_pl:entries_xml} for improved sitemap rendering times and memory consumption.
LG Better Meta 1.7 added sitemap meta and with it a powerful new tag: {exp:lg_better_meta_pl:entries}. This tag operates exactly the same as {exp:weblog:entries} accepting the same parameters and rendering the same entry template variables.
This tag has been designed to allow you to output flexible and powerful search engine sitemaps by looping over weblog entries.
For an example template using the {exp:lg_better_meta_pl:entries} tag see: "How To: Create an XML sitemap".
Parameters
{exp:lg_better_meta_pl:entries} accepts all the same parameters as {exp:weblog:entries}.
Single Variables
{exp:lg_better_meta_pl:entries} renders all the same single variables as {exp:weblog:entries} including custom fields.
Additionally the tag also renders:
- {change_frequency} - The entry's change frequency meta value
- {priority} - The entry's priority meta value
6.3. {exp:lg_better_meta_pl:entries_xml} Top
LG Better Meta 1.8 improved sitemap rending times by implementing: {exp:lg_better_meta_pl:entries_xml}. Rather than looping over template tag pairs (increasing memory consumption) this tag renders the xml directly to the template.
For an example template using the {exp:lg_better_meta_pl:entries} tag see: "How To: Create an XML sitemap".
Parameters
{exp:lg_better_meta_pl:entries} accepts all the same parameters as {exp:weblog:entries} however the following defaults are set:
disabled="categories|custom_fields|category_fields|member_data|pagination|trackbacks"dynamic="off"limit="500"rdf="off"
Additionally the tag also accepts the following extra parameters:
loc= [required]
loc="http://mysite.com/blog/entry/{entry_id}/{url_title}/{site_id}/{weblog_id}/"
The loc parameter is used as the value for the <loc> xml element. It can include variables that will be replaced with entry specific values. The following variables will be replaced:
- {entry_id}
- {url_title}
- {site_id}
- {weblog_id}
use_page_url= [optional]
use_page_url="yes"
use_page_url="no"
If the entry has a page url (Pages & Structure module) then you can choose to override the loc= parameter.
7. How To / Tutorials Top
7.1. Add default meta data Top
Rendering the default meta template and data to your template is as easy as adding {exp:lg_better_meta_pl:template} to your template. The default meta values can be overridden using the tags parameters.
7.2. Add entry specific meta data Top
To output entry specific meta you must add either the entry_id= or url_title= parameter to the {exp:lg_better_meta_pl:template} tag.
Lucky for us it is a requirement of the ExpressionEngine templating system that either an entry_id or the url_title in the url for specific entry pages. Knowing this allows us to use segment variables inside the {exp:lg_better_meta_pl:template} tag.
Example 1: An entry id in a url.
If your page is using the entry_id to determine the entry use the entry_id= parameter.
Example url: http://leevigraham.com/blog/post/3
<head>
{exp:lg_better_meta_pl:template entry_id="{segment_3}"}
</head>
Example 2: A url_title in a url.
If you page is using the url_title of an entry to determine the entry use the url_title= parameter.
Example page url: http://leevigraham.com/blog/post/foo-bar
<head>
{exp:lg_better_meta_pl:template url_title="{segment_3}"}
</head>
If the previous examples are understood you’ll want to take a look at: Full single entry page example.
7.3. Get the most out of your homepage Top
Your homepage generally will require a unique URL for SEO and to draw the attention of your site visitors. Generally the sites homepage will have a unique title which may be similar to the default site title. To avoid duplication the default site title should be removed.
Example:
<head>
{!-- Override the page title and hide the default site title --}
{exp:lg_better_meta_pl:template
title="Super amazing unique homepage title"
hide_site_title = "y"
}
</head>
7.4. Add category archive meta Top
We need to take a different approach for weblog category archive templates. In the example below we will output the meta for the "family pics" category archive using the {exp:weblog:category_heading} tag.
Example url: http://leevigraham.com/gallery/category-archive/category/family-pics
<head>
{!-- Get the category information --}
{exp:weblog:category_heading weblog="photo_blog"}
{!--
Overide the default page title with the category name.
Add "Photo Gallery" to the page title using the title_suffix parameter
--}
{exp:lg_better_meta_pl:template
title="{category_name}"
title_suffix="Photo Gallery"
description="{category_description}"
}
{/exp:weblog:category_heading}
</head>
More information on {exp:weblog:category_heading} the can be found in the ExpressionEngine documentation.
7.5. Outputting meta in embedded templates Top
More often than not you will want to include an ExpressionEngine header template embed to simplify your templates. This template should include the {lg:better_meta_pi:template} tag. The basic idea is that the {lg:better_meta_pi:template} parameters are passed through the header embed and into the tag.
This may make it hard to pass the exact required parameters to LG Better Meta. To solve this issue LG Better Meta ignores unassigned embed tags.
The embedded template
The example code should be placed in your embedded header template regardless of the variables that are passed through. As mentioned above, unassigned variables will not be processed by LG Better Meta.
<head>
...
{exp:lg_better_meta_pl:template
entry_id="{embed:entry_id}"
weblog_id="{embed:weblog_id}"
url_title="{embed:url_title}"
title="{embed:title}"
title_suffix="{embed:title_suffix}"
title_prefix="{embed:title_prefix}"
hide_site_title="{embed:hide_site_title}"
description="{embed:description}"
keywords="{embed:keywords}"
author="{embed:author}"
publisher="{embed:publisher}"
rights="{embed:rights}"
date_created="{embed:date_created}"
date_modified="{embed:date_modified}"
date_valid="{embed:date_valid}"
identifier="{embed:identifier}"
robots_index="{embed:robots_index}"
robots_follow="{embed:robots_follow}"
robots_archive="{embed:robots_archive}"
canonical_url="{embed:canonical_url}"
region="{embed:region}"
placename="{embed:placename}"
latitude="{embed:latitude}"
longitude="{embed:longitude}"
}
...
</head>
The parent template
Pass the required values through to the embedded template:
{embed="your_template_group/header_template"
entry_id="{segment_3}"
}
For more information on embedding templates and passing values see: Embedding Templates within Other Templates in the ExpressionEngine documentation.
7.6. Full single entry page example Top
The majority of ExpressionEngine sites will contain single entry pages, it’s on these style of pages that LG Better Meta really shines.
The example below uses an embedded header template and passes the entry’s id through to the header. This way you are guaranteed to get the correct meta for an entry.
It's important to understand that:
- the page may break if the entry is not found because the header (including
<body>tags) won’t be included. This isn’t a concern if you use therequire_entry="yes"andlimit="1"parameters in the {weblog:entries} tag combined with a proper 404 page:{if no_results}{redirect="404"}{/if}
Example template
{exp:weblog:entries
limit="1"
require_entry="yes"
weblog="this_page_weblog"
}
{if no_results}{redirect="404"}{/if}
{embed="_includes/.head"
entry_id="{entry_id}"
meta_title_suffix="{blog_title}"
}
<h1>{title}</h1>
{body}
{/exp:weblog:entries}
{-- Use dynamic="off" to dislay entries from a second weblog --}
<ol>
{exp:weblog:entries weblog='some_other_blog' dynamic='off'}
<li>{title}</li>
{/exp:weblog:entries}
</ol>
7.7. Create an XML sitemap Top
Firstly create a new template and set it's type to XML. I personally create a new template group called "xml_sitemaps" and create individual sitemaps for each weblog. Double check the template type is XML or your sitemap will not render correctly.
Outputting weblog entries
The recommended way of creating sitemap entries is by using the {exp:lg_better_meta_pl:entries_xml} tag. An example below renders 500 entries from the "blog" weblog where the entries status is "not closed". The loc parameter value variables will be replaced with entry specific values.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{exp:lg_better_meta_pl:entries_xml
loc="http://test.com/blog/post/{entry_id}/{url_title}/{weblog_id}/{site_id}/"
status="not closed"
weblog="blog"
}
</urlset>
Outputting category archives
It's not a bad idea to include sitemap references to your weblog category and monthly archive pages if they exist. This can easily be achieved using standard ExpressionEngine tags.
The example below outputs the category archive index pages for each category in the "blog" weblog using the exp:weblog:categories} tag. Note that the <lastmod> (optional) isn't added to the output as there is no way to find this value.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{exp:weblog:categories
disable="category_fields"
show_empty="yes"
style="linear"
weblog="blog"
}
<url>
<loc>http://test.com/blog/category-archive/cat/{category_url_title}/</loc>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
{/exp:weblog:categories}
</urlset>
Complete example
Below is a complete example for the "blog" weblog including index page, entries and category archive. We've harded coded the index page but you could just as easily use the {exp:weblog:entries} tag to pull the last modified date.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{-- BLOG INDEX --}
<url>
<loc>http://test.com/blog/</loc>
<lastmod>{current_time format="%Y-%m-%d"}</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
{-- BLOG ENTRIES --}
{exp:lg_better_meta_pl:entries_xml
loc="http://test.com/blog/post/{entry_id}/{url_title}/{weblog_id}/{site_id}/"
status="not closed"
weblog="blog"
}
{-- BLOG CATEGORY ARCHIVE PAGES --}
{exp:weblog:categories
disable="category_fields"
show_empty="yes"
style="linear"
weblog="blog"
}
<url>
<loc>http://test.com/blog/category-archive/cat/{category_url_title}/</loc>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
{/exp:weblog:categories}
</urlset>
If your sitemaps are getting too large you might want to consider using Sitemap index files
Submitting your sitemap to Google
Google doesn't like sitemaps to be located in your sites sub-folders. Removing the index.php file may possibly throw an error because http://mysite.com/index.php?xml_sitemaps/index/ will be redirected as http://mysite.com/xml_sitemaps/index/. For this reason it's important to submit the full URL to Google including the index.php.
8. Release Notes Top
Version 1.9.0
- Implemented 'Morphine' styles
- Created view folders in /system/lib/ directory
Version 1.8.1
- Re-implemented PHP4 support
- Removed short tags
- Added front end templates
- Fixed 1.8.0 upgrade issues
Version 1.8.0
- Added canonical URL
- Added geo meta data
- Streamlined settings form and publish tab
- Per-weblog settings for field display
- Append default keywords now, instead of appending current defaults straight away, waits until page view to append; ensuring using most current defaults.
- Renamed
{exp:lg_better_meta_pi}to{exp:lg_better_meta_pl}
Version 1.7.0
- Added sitemap meta data
- Added sitemap output
- Replaced
{exp:lg_better_meta}with{exp:lg_better_meta_pi:template} - Added
{exp:lg_better_meta_pi:entries}to loop over existing meta entries. - Fixed MSM compatibility for masked control panels
- Rewrote the plugin for greater speed and efficiency
- Put the price up to cover development of the extra features
Version 1.6.1
- Integrated LG Addon Updater
- Fixed update script from version 1.4.2+
Version 1.6.0
- Added title_prefix parameter
- Added title_suffix parameter
- Added hide_site_title parameter
- Added option to disable LG Better Meta on a per site basis
- Fixed some character encoding issues
- Discontinued the 1.4.2 free version due to bugs
Version 1.5.0
- Added MSM Compatibility
- Rewrote extension settings panel
Version 1.4.2
- Fixed issue with other extensions that use tabs
- Added update messages to CP homepage
Version 1.4.1
- Added change log to download
- Added check to see if extension has been enabled when the plugin is used.
Version 1.4.0
- Extension method names changed
- Encoding characters bug fixed
- Editing from pages module bug fixed
- Source Code fully commented in PHPDoc syntax
Previous Versions
No change log is available for previous versions.
9. Other Topics Top
9.1. Support Top
Technical support is available primarily through my contact form (I'll reply with an email) and the ExpressionEngine forums. Leevi Graham and Newism do not provide direct phone support. No representations or guarantees are made regarding the response time in which support questions are answered.
9.2. Upgrades Top
Although we are actively developing LG Better Meta, Newism makes no guarantees that this extension will be upgraded within any specific timeframe.
9.3. Refunds Top
Not happy with LG Better Meta? Don't worry this extension is covered by a 30 day money back guarantee. If you having any problems with the extension please contact me to report the issues and your payment will be refunded.
10. License Top
LG Better Meta is a commercial product and therefore is subject to the commercial license agreement. A single license is valid for a single domain (unlimited-subdomains).
Page created on: Nov 04, 2009
Last updated on: Dec 04, 2009


Enjoy LG Better Meta v1.9.0? Bookmark and share it with others.