It's number of discussions that make the difference, I would pause and think hard about it if you had over 10,000 discussions. In that scenario I'd advise you wait for the version that produces static files.
I have produced a 0.2 version that generates static files limited to 20,000 Urls per file.
However I do not want to publish that until I have been able to test it.
Does anyone have a forum with, say, 15,000 discussions (some spanning multiple pages)? If you do, and you are willing to beta test this extension, please contact me.
I've seen other sitemaps that have a link to a stylesheet in it so that it displays nicely formatted. Does this interfere with the search engines? Or is it there so we humans can view the sitemap nicely formatted?
Adding an Xsl style sheet wouldn't interfere with the sitemap at all.
If you were a small site this isn't a bad idea, but as you grow and face multiple sitemap files, gzip'd, and containing 20,000 URLs each... it's hard to imagine that you would want that to be consumed by a human.
I can supply you with the version that generates static files if you want.
The full cache version I should have done tomorrow night, and will basically involve you installing the extension and then putting a cron job on your server to generate it daily.
I'm already using the static file version (20k urls per file), and it's very nice at what it does - it's going to hurt peoples head to read the code ;) The caching is a simple method that writes out a sitemaps_index file and uses the timestamp of the file to determine whether or not to generate a new sitemap yet. If it's within 23hrs, it will not generate a sitemap... essentially this means it only gets generated once a day, and if you add a cron job you are in control of the time that it gets generated.
Right now I'm feeling really, really stupid.
How is this suppose to work?
I've installed it, activated it and...?
When I input http://www.yourdomain.com/extension.php?PostBackAction=sitemap.xml in the address bar I get:
Notice: Undefined variable: PostBackAction in mylocaldirectory/public_html/extensions/Sitemaps/default.php on line 219
I've tried it in your site and it works fine.
What am I doing wrong?
Had the same problem, change the $PostBackAction to $_GET['PostBackAction'] in the if statement and it will work ok. Also if you are not on PHP5, then change everywhere there is a date('c'... to date('Y-m-d'... Other than that, brilliant works really well.
If you visit that file on my domain (the link above), then you will see that there the robots.txt file contains a line that points the search engine spiders to the Sitemap file that we create.
That's how the search engine spiders find the sitemap and know the URL's to crawl.
cool extension. But I've a little problem with generating dynamic URLs (static links are ok). Everytime I want to generate the sitemap the following error appears:
Error Message An error occurred while attempting to retrieve the Users. Affected Elements Sitemaps.GetUsers();
The error occurred on or near: Unknown column 'u.lum_DateLastActive' in 'field list'
I guess it's a problem with a database connection, but I've no idea what or where to change this ;)
hope you, or somebody else, could help me... thanks!
Sitemap warnings for http://pignonfixe.com/forum/extension.php?PostBackAction=sitemap.xml This Sitemap has the following warnings. These warnings will not prevent normal processing of your Sitemap or crawling of your site. However, we encourage you to investigate and fix these issues within your site. [?]
Warnings Line: 59 Invalid date An invalid date was found. Please fix the date or formatting before resubmitting. [?] Parent tag: Tag: Value: Date found: url lastmod c Sep 10, 2007
Hi,
I have this error when trying to reach sitemap.xml :
Fatal error: Non-static method Sitemaps::RenderUrlNode() cannot be called statically in d:\www\mydomain.fr\htdocs\forum\extensions\Sitemaps\default.php on line 145
The line145 is : echo RenderUrlNode($customUrl[0], $customUrl[1], $customUrl[2], $customUrl[3]);
I'm using vanilla 1.1.3 and this addons needs few tweaking before you can "safely" used it. Literally, it doesn't work out of the box.
Follow my instruction. The first thing you should do before you enabling this "sitemaps addons" is to created a "robots.txt" and placed it in your root directory. add the the following code inside the robots.txt #sitemaps Sitemap: http://blog.kaizeku.com/extension.php?PostBackAction=sitemap.xml
obviously you'll need to changed the url with your website url.
Lastly on line 229 Find if ($Context->SelfUrl == 'extension.php' && $PostBackAction == 'sitemap.xml') {
Replace with if ($Context->SelfUrl == 'extension.php' && $_GET['PostBackAction'] == 'sitemap.xml') {
thats all, open your Settings CP > extensions >sitemaps and activated it the sitemaps and double check your sitemap http://www.mywebsite.com/extension.php?PostBackAction=sitemap.xml
Comments
It's number of discussions that make the difference, I would pause and think hard about it if you had over 10,000 discussions. In that scenario I'd advise you wait for the version that produces static files.
However I do not want to publish that until I have been able to test it.
Does anyone have a forum with, say, 15,000 discussions (some spanning multiple pages)? If you do, and you are willing to beta test this extension, please contact me.
If you were a small site this isn't a bad idea, but as you grow and face multiple sitemap files, gzip'd, and containing 20,000 URLs each... it's hard to imagine that you would want that to be consumed by a human.
We have around 15,000 members in our database, but only around 1500 discussions right now.
We'll probably wait until it's caching to start using it activately...
Thanks mate, great contribution!
Posted: Wednesday, 2 May 2007 at 1:40PM
I can supply you with the version that generates static files if you want.
The full cache version I should have done tomorrow night, and will basically involve you installing the extension and then putting a cron job on your server to generate it daily.
I'm already using the static file version (20k urls per file), and it's very nice at what it does - it's going to hurt peoples head to read the code ;) The caching is a simple method that writes out a sitemaps_index file and uses the timestamp of the file to determine whether or not to generate a new sitemap yet. If it's within 23hrs, it will not generate a sitemap... essentially this means it only gets generated once a day, and if you add a cron job you are in control of the time that it gets generated.
$PostBackAction is supposed to be the variable in the Url that comes through.
You could whisper me the Url to your installation and I'll go look too. A phpinfo() page would be useful too.
Also if you are not on PHP5, then change everywhere there is a date('c'... to date('Y-m-d'...
Other than that, brilliant works really well.
I've been running 0.2 for a while now, so I'll release that later.
Once you've installed and activated the extension, how do you know it's working?
What I gathered from the previous posts is that you're supposed to open a new tab in your browser and cut/paste the following url
http://www.yourdomain.com/extension.php?PostBackAction=sitemap.xml
Then what?
Thanks in advance for your response and help
and thank you for the extension.
I don't understand what you mean when you write
"Edit your robots.txt file to include this line to have your Sitemap auto-discovered:
Sitemap: http://www.yourdomain.com/extension.php?PostBackAction=sitemap.xml"
I'm really sorry for the inconvenience of my questions, I'm really new to all this.
Thank you very much for your help and patience.
It's a text file that all search engine spiders will look for in the root of your website.
So if your domain is http://www.londonfgss.com/ (it isn't, that's mine), then Google, Yahoo, MSN, etc are all looking for http://www.londonfgss.com/robots.txt
If you visit that file on my domain (the link above), then you will see that there the robots.txt file contains a line that points the search engine spiders to the Sitemap file that we create.
That's how the search engine spiders find the sitemap and know the URL's to crawl.
cool extension. But I've a little problem with generating dynamic URLs (static links are ok).
Everytime I want to generate the sitemap the following error appears:
Error Message
An error occurred while attempting to retrieve the Users.
Affected Elements
Sitemaps.GetUsers();
The error occurred on or near: Unknown column 'u.lum_DateLastActive' in 'field list'
I guess it's a problem with a database connection, but I've no idea what or where to change this ;)
hope you, or somebody else, could help me...
thanks!
But I've added some stuff for connecting Vanilla to my CMS
http://modxcms.com/forums/index.php/topic,14109.msg99816.html#msg99816
This script just adds some CMS specific variables for the user management.
This is the message I get from https://www.google.com/webmasters/tools/sitemap?sitemapUrl=... : (do you have any clue of how to fix them?)
Sitemap warnings for http://pignonfixe.com/forum/extension.php?PostBackAction=sitemap.xml
This Sitemap has the following warnings. These warnings will not prevent normal processing of your Sitemap or crawling of your site. However, we encourage you to investigate and fix these issues within your site. [?]
Warnings
Line:
59
Invalid date
An invalid date was found. Please fix the date or formatting before resubmitting. [?] Parent tag:
Tag:
Value:
Date found: url
lastmod
c
Sep 10, 2007
I'm using vanilla 1.1.3 and this addons needs few tweaking before you can "safely" used it. Literally, it doesn't work out of the box.
Follow my instruction. The first thing you should do before you enabling this "sitemaps addons" is to created a "robots.txt" and placed it in your root directory. add the the following code inside the robots.txt
#sitemaps
Sitemap: http://blog.kaizeku.com/extension.php?PostBackAction=sitemap.xml
obviously you'll need to changed the url with your website url.
next, open ../extensions/Sitemaps/default.php
find on line 46
$customUrls = array(
array('http://www.londonfgss.com/', date('Y-m-d H:i:s', mktime()), 'hourly', 1.0),
array('http://www.londonfgss.com/discussions/', date('Y-m-d H:i:s', mktime()), 'hourly', 0.8),
array('http://www.londonfgss.com/categories/'),
array('http://www.londonfgss.com/categories/1/'),
array('http://www.londonfgss.com/categories/2/'),
array('http://www.londonfgss.com/categories/3/'),
array('http://www.londonfgss.com/categories/4/'),
array('http://www.londonfgss.com/categories/5/'),
array('http://www.londonfgss.com/categories/6/'),
array('http://www.londonfgss.com/categories/7/'),
array('http://www.londonfgss.com/categories/8/'),
array('http://www.londonfgss.com/page/Links/'),
array('http://www.londonfgss.com/extension.php?PostBackAction=GoogleMapDirectory'),
);
replace it with
$customUrls = array(
array($this->Context->Configuration['BASE_URL'], date('Y-m-d H:i:s', mktime()), 'hourly', 1.0),
array($this->Context->Configuration['BASE_URL'].'discussions/', date('Y-m-d H:i:s', mktime()), 'hourly', 0.8),
array($this->Context->Configuration['BASE_URL'].'categories/'),
array($this->Context->Configuration['BASE_URL'].'categories/1/'),
array($this->Context->Configuration['BASE_URL'].'categories/2/'),
array($this->Context->Configuration['BASE_URL'].'categories/3/'),
array($this->Context->Configuration['BASE_URL'].'categories/4/'),
array($this->Context->Configuration['BASE_URL'].'categories/5/'),
array($this->Context->Configuration['BASE_URL'].'categories/6/'),
array($this->Context->Configuration['BASE_URL'].'categories/7/'),
array($this->Context->Configuration['BASE_URL'].'categories/8/'),
array($this->Context->Configuration['BASE_URL'].'page/Links/'),
array($this->Context->Configuration['BASE_URL'].'extension.php?PostBackAction=GoogleMapDirectory'),
);
Still in the same files. on line 127
find
echo "<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n";
add before
header('Content-Type: text/xml');
Lastly on line 229
Find
if ($Context->SelfUrl == 'extension.php' && $PostBackAction == 'sitemap.xml') {Replace with
if ($Context->SelfUrl == 'extension.php' && $_GET['PostBackAction'] == 'sitemap.xml') {
thats all, open your Settings CP > extensions >sitemaps and activated it the sitemaps and double check your sitemap http://www.mywebsite.com/extension.php?PostBackAction=sitemap.xml
hope somebody might find this post useful.
We want to use this plug-in on vanilla 1.1.4. Has anyone used it?
Further, our forum is a subdirectory on a root which is a wordpress installation with already a sitemap plugin installed.
would this interfere with the existing sitemap?