Version Description
- priority calculation based on comments and age
- changefreq based on comments
Download this release
Release Info
Developer | RavanH |
Plugin | XML Sitemap & Google News feeds |
Version | 2.0 |
Comparing to | |
See all releases |
Code changes from version 1.0 to 2.0
- readme.txt +45 -16
- template.php +29 -5
- xml-sitemap.php +1 -1
readme.txt
CHANGED
@@ -4,27 +4,35 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravan
|
|
4 |
Tags: xml sitemap, sitemap, google sitemap, yahoo sitemap, msn sitemap, ask sitemap, search engine, feed
|
5 |
Requires at least: 2.5
|
6 |
Tested up to: 2.8
|
7 |
-
Stable tag:
|
8 |
|
9 |
-
Creates a feed that complies to the XML Sitemap protocol ready be submitted to Google, Yahoo, MSN, Ask.com and others.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
-
This plugin
|
14 |
|
15 |
-
|
16 |
|
17 |
-
It was based on the plugin Standard XML Sitemap Generator by Patrick Chia but requires no modifications to file locations. Some small improvements and a bugfix were done in the first version.
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
* The
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
== Installation ==
|
24 |
|
25 |
= Wordpress =
|
26 |
|
27 |
-
Just use that slick installation and auto update feature on your Pugins page
|
|
|
|
|
28 |
|
29 |
1. Download archive and unpack.
|
30 |
|
@@ -32,32 +40,53 @@ Just use that slick installation and auto update feature on your Pugins page - O
|
|
32 |
|
33 |
3. Activate the plugin on the Plug-ins page.
|
34 |
|
35 |
-
Done! Check your sparkling new XML Sitemap by adapting the url
|
36 |
|
37 |
= Wordpress MU =
|
38 |
|
39 |
-
The plugin also works from the /mu-plugins/ folder where it
|
40 |
|
41 |
== Frequently Asked Questions ==
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
= Can I change the sitemap name/URL? =
|
44 |
|
45 |
-
No. The sitemap url that you manually submit
|
|
|
46 |
|
47 |
-
= I
|
48 |
|
49 |
The sitemap is dynamically generated just like a feed. There is no actual file created.
|
50 |
|
51 |
= Where can I customize the xml output? =
|
52 |
|
53 |
-
You may edit the XML output in template.php but be carefull not to break Sitemap protocol comliance. Read more on [Sitemaps XML format](http://www.sitemaps.org/protocol.php).
|
54 |
|
55 |
-
= Do I need change my robots.txt? =
|
56 |
|
57 |
-
No. Your sitemap url will be automatically added to your dynamic robots.txt when plugin actived. Unless you
|
58 |
|
59 |
== Changelog ==
|
60 |
|
|
|
|
|
|
|
|
|
61 |
= 1.0 =
|
62 |
* changed feed template location to avoid the need to relocate files outside the plugins folder
|
63 |
* bugfix: get_post_modified_time instead of get_post_time
|
4 |
Tags: xml sitemap, sitemap, google sitemap, yahoo sitemap, msn sitemap, ask sitemap, search engine, feed
|
5 |
Requires at least: 2.5
|
6 |
Tested up to: 2.8
|
7 |
+
Stable tag: 2.0
|
8 |
|
9 |
+
Creates a feed that complies to the XML Sitemap protocol ready to be submitted to Google, Yahoo, MSN, Ask.com and others.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
+
This plugin dynamically creates an XML feed that complies to the XML Sitemap protocol. There are no options to be set and the feed becomes instantly available after activation on yourblogurl.tld/sitemap.xml and yourblogurl.tld/feed/sitemap ready to be submitted to search engines like Google, Yahoo, MSN, Ask.com and others. An entry `Sitemap: http:// yourblogurl.tld/sitemap.xml` is added to the (by WordPress dynamically created) robots.txt on yourblogurl.tld/robots.txt to tell search engines where to find your XML Sitemap.
|
14 |
|
15 |
+
The main advantages of this approach are **simplicity** (no need to change file or folder permissions or move files) and the fact that this method works out-of-the-box on **shared codebase / multi-blog setups** like [WordPress MU](http://mu.wordpress.org/), [WP_OneInstall](http://wordpress.org/extend/plugins/wp-oneinstall/), [WP Hive](http://wordpress.org/extend/plugins/wp-hive/) and others.
|
16 |
|
17 |
+
It was based on the plugin Standard XML Sitemap Generator by Patrick Chia but requires no modifications to file locations. Some other small improvements and a bugfix were done in the first version.
|
18 |
|
19 |
+
= Limitations =
|
20 |
+
|
21 |
+
* The feed contains the front page and all posts and pages but (still) excludes category, tag and other dynamic archive pages.
|
22 |
+
* There is no way (yet) to manually change the priority of posts/pages in the sitemap but since version 2.0 there is some basic automatic priority calculation (based on post age and comment activity) doing the work for you.
|
23 |
+
* The number of posts listed in the sitemap is limited to 1000. This should satisfy most blogs while limiting the sitemap size on bigger blogs by stripping of the oldest posts. Please let me know if you need more than your most recent 1000 posts listed in your sitemap.xml :)
|
24 |
+
|
25 |
+
= Translations =
|
26 |
+
|
27 |
+
There is nothing to translate. The sitemap protocol is international, there is no options page nor any front-end output. Nothing to see here, please move along ;)
|
28 |
|
29 |
== Installation ==
|
30 |
|
31 |
= Wordpress =
|
32 |
|
33 |
+
Just use that slick installation and auto update feature on your Pugins page
|
34 |
+
- OR -
|
35 |
+
follow these simple steps:
|
36 |
|
37 |
1. Download archive and unpack.
|
38 |
|
40 |
|
41 |
3. Activate the plugin on the Plug-ins page.
|
42 |
|
43 |
+
Done! Check your sparkling new XML Sitemap by adapting the url yourblogurl.tld/sitemap.xml to your blog and visiting it with a browser or online XML Sitemap validator. You might also want to see if the sitemap is listed in your yourblogurl.tld/robots.txt file.
|
44 |
|
45 |
= Wordpress MU =
|
46 |
|
47 |
+
The plugin also works from the /mu-plugins/ folder where it runs quietly in the background without bothering any blog owner with new options or the need for extra knowledge of XML Sitemap submission. Just upload the complete package content and move the file xml-sitemap.php from /mu-plugins/xml-sitemap-feed/ to /mu-plugins/.
|
48 |
|
49 |
== Frequently Asked Questions ==
|
50 |
|
51 |
+
= How are the values for priority and changefreq calculated? =
|
52 |
+
|
53 |
+
The front page has a priority of 1.0, pages are always 0.6 and posts will have a priority between 0.8 and 0.3 depending on comments and its age. the cangefreq of the frontpage is set to daily, monthly for pages and either monthly or weekly for posts depending on comments.
|
54 |
+
|
55 |
+
Dynamic pages like category pages, tag pages and archive pages are not listed in this version yet.
|
56 |
+
|
57 |
+
= Do I need to submit the sitemap to search engines? =
|
58 |
+
|
59 |
+
No. In normal circumstances, your site will be indexed by the major search engines before you know it. The search engines will be looking for a robots.txt file and (with this plugin activated) find a pointer in it to the XML Sitemap on your blog. The search engines will return on a regular basis to see if your site has updates.
|
60 |
+
|
61 |
+
= Does this plugin ping search engines? =
|
62 |
+
|
63 |
+
No. While other XML Sitemap plugins provide pinging to some search engines upon each post edit or publication, this plugin does not. For the average website, in my experience, pinging Google or others after each little change does not benefit anything except a theoretical smaller delay in re-indexation of your website. This is only theoretical because if your site is popular and active, major search engines will likely be crawling your site on a very regular basis anyway. And if, on the other hand, your site is not high in the agenda with the major search engines, they will likely give no priority to your pings anyway.
|
64 |
+
|
65 |
+
If you **really** feel the need to get your latest post indexed ASAP, you can let major search engines know about updates manually. For most search engines you need to have some account for that. Like a [Google Webmaster Tools account](https://www.google.com/webmasters/tools/) which will tell you much interesting things about your website and your readers. Try it!
|
66 |
+
|
67 |
= Can I change the sitemap name/URL? =
|
68 |
|
69 |
+
No. The sitemap url that you manually submit to Google (if you are impatient) should be yourblogurl.tld/sitemap.xml
|
70 |
+
The feed is also available via yourblogurl.tld/feed/sitemap
|
71 |
|
72 |
+
= I see no sitemap.xml file in my server space! =
|
73 |
|
74 |
The sitemap is dynamically generated just like a feed. There is no actual file created.
|
75 |
|
76 |
= Where can I customize the xml output? =
|
77 |
|
78 |
+
You may edit the XML output in xml-sitemap-feed/template.php but be carefull not to break Sitemap protocol comliance. Read more on [Sitemaps XML format](http://www.sitemaps.org/protocol.php).
|
79 |
|
80 |
+
= Do I need to change my robots.txt? =
|
81 |
|
82 |
+
No. Your sitemap url will be automatically added to your dynamic robots.txt when plugin actived. Unless you use a static robots.txt file in your website root. In that case you areadvised to open it in a text editor and add a line like `Sitemap: http:// yourblogurl.tld/sitemap.xml` (adapt to your site url).
|
83 |
|
84 |
== Changelog ==
|
85 |
|
86 |
+
= 2.0 =
|
87 |
+
* priority calculation based on comments and age
|
88 |
+
* changefreq based on comments
|
89 |
+
|
90 |
= 1.0 =
|
91 |
* changed feed template location to avoid the need to relocate files outside the plugins folder
|
92 |
* bugfix: get_post_modified_time instead of get_post_time
|
template.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* XML Sitemap Feed Template
|
4 |
**/
|
5 |
|
6 |
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'feed-sitemap.php' == basename($_SERVER['SCRIPT_FILENAME']))
|
@@ -9,15 +9,23 @@ if (!empty($_SERVER['SCRIPT_FILENAME']) && 'feed-sitemap.php' == basename($_SERV
|
|
9 |
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
10 |
$more = 1;
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
?>
|
13 |
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
14 |
-
<!-- generator="XML Sitemap WordPress plugin/1.0" -->
|
15 |
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
16 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
|
17 |
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
18 |
<url>
|
19 |
<loc><?php bloginfo_rss('url') ?></loc>
|
20 |
-
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s +0000',
|
21 |
<changefreq>daily</changefreq>
|
22 |
<priority>1.0</priority>
|
23 |
</url>
|
@@ -34,12 +42,28 @@ if ($post_ids) {
|
|
34 |
$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt DESC");
|
35 |
foreach ($posts as $post) {
|
36 |
setup_postdata($post);
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
?>
|
38 |
<url>
|
39 |
<loc><?php the_permalink_rss() ?></loc>
|
40 |
-
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s +0000',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
<changefreq>monthly</changefreq>
|
42 |
-
|
|
|
|
|
|
|
43 |
</url>
|
44 |
<?php }
|
45 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* XML Sitemap Feed Template 2.0
|
4 |
**/
|
5 |
|
6 |
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'feed-sitemap.php' == basename($_SERVER['SCRIPT_FILENAME']))
|
9 |
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
10 |
$more = 1;
|
11 |
|
12 |
+
$lastpostmodified = get_lastpostmodified('GMT');
|
13 |
+
|
14 |
+
$post_priority = 0.7;
|
15 |
+
$minpost_priority = 0.3;
|
16 |
+
$maxpost_priority = 0.9;
|
17 |
+
$page_priority = 0.6;
|
18 |
+
$frontpage_priority = 1.0;
|
19 |
+
|
20 |
?>
|
21 |
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
22 |
+
<!-- generator="XML Sitemap Feed WordPress plugin/1.0" -->
|
23 |
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
24 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
|
25 |
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
26 |
<url>
|
27 |
<loc><?php bloginfo_rss('url') ?></loc>
|
28 |
+
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s +0000', $lastpostmodified, false); ?></lastmod>
|
29 |
<changefreq>daily</changefreq>
|
30 |
<priority>1.0</priority>
|
31 |
</url>
|
42 |
$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt DESC");
|
43 |
foreach ($posts as $post) {
|
44 |
setup_postdata($post);
|
45 |
+
$post_modified_time = get_post_modified_time('Y-m-d H:i:s', true);
|
46 |
+
$priority_down = (($lastpostmodified - $post_modified_time) > 0) ? ($lastpostmodified - $post_modified_time)/10 : 0;
|
47 |
+
$priority_up = ($post->comment_count > 0) ? $post->comment_count/10 : 0;
|
48 |
+
$priority = $post_priority - $priority_down + $priority_up;
|
49 |
+
$priority = ( $priority > $maxpost_priority ) ? $maxpost_priority : $priority;
|
50 |
+
$priority = ( $priority < $minpost_priority ) ? $minpost_priority : $priority;
|
51 |
?>
|
52 |
<url>
|
53 |
<loc><?php the_permalink_rss() ?></loc>
|
54 |
+
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s +0000', $post_modified_time, false) ?></lastmod>
|
55 |
+
<?php if($post->post_type == "page") { ?>
|
56 |
+
<changefreq>monthly</changefreq>
|
57 |
+
<priority>0.5</priority>
|
58 |
+
<?php } else {
|
59 |
+
if($post->comment_count > 0) { ?>
|
60 |
+
<changefreq>weekly</changefreq>
|
61 |
+
<?php } else { ?>
|
62 |
<changefreq>monthly</changefreq>
|
63 |
+
<?php } ?>
|
64 |
+
<priority><?php echo $priority ?></priority>
|
65 |
+
<?php //echo "<test>" . $post_priority . " - " . $priority_down . " + " . $priority_up . "</test>" ?>
|
66 |
+
<?php } ?>
|
67 |
</url>
|
68 |
<?php }
|
69 |
}
|
xml-sitemap.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: XML Sitemap Feed
|
4 |
Plugin URI: http://4visions.nl/en/index.php?section=57
|
5 |
Description: Creates a dynamic XML feed that complies to the XML Sitemap protocol ready be submitted to Google, Yahoo, MSN, Ask.com and others. Based on the Standard XML Sitemap Generator by Patrick Chia.
|
6 |
-
Version:
|
7 |
Author: RavanH
|
8 |
Author URI: http://4visions.nl/
|
9 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feed&item_number=2%2e6%2e2%2e9&no_shipping=0&tax=0&bn=PP%2dDonationsBF&charset=UTF%2d8
|
3 |
Plugin Name: XML Sitemap Feed
|
4 |
Plugin URI: http://4visions.nl/en/index.php?section=57
|
5 |
Description: Creates a dynamic XML feed that complies to the XML Sitemap protocol ready be submitted to Google, Yahoo, MSN, Ask.com and others. Based on the Standard XML Sitemap Generator by Patrick Chia.
|
6 |
+
Version: 2.0
|
7 |
Author: RavanH
|
8 |
Author URI: http://4visions.nl/
|
9 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feed&item_number=2%2e6%2e2%2e9&no_shipping=0&tax=0&bn=PP%2dDonationsBF&charset=UTF%2d8
|