|
1 Google XML Sitemaps Generator for WordPress |
|
2 ============================================================================== |
|
3 |
|
4 This generator will create a sitemaps.org compliant sitemap of your WordPress blog. |
|
5 Currently homepage, posts, static pages, categories, archives and author pages are supported. |
|
6 |
|
7 The priority of a post depends on its comments. You can choose the way the priority |
|
8 is calculated in the options screen. |
|
9 |
|
10 Feel free to visit my website under www.arnebrachhold.de or contact me at |
|
11 himself [at] arnebrachhold [dot] de |
|
12 |
|
13 Have fun! |
|
14 Arne |
|
15 |
|
16 Installation: |
|
17 ============================================================================== |
|
18 1. Upload the full directory into your wp-content/plugins directory |
|
19 2. Make your blog directory writeable OR create two files called sitemap.xml |
|
20 and sitemap.xml.gz and make them writeable via CHMOD In most cases, your blog directory is already writeable. |
|
21 2. Activate it in the Plugin options |
|
22 3. Edit or publish a post or click on Rebuild Sitemap on the Sitemap Administration Interface |
|
23 |
|
24 |
|
25 Additional contributors: |
|
26 ============================================================================== |
|
27 Inspiration Michael Nguyen http://www.socialpatterns.com/ |
|
28 SQL Improvements Rodney Shupe http://www.shupe.ca/ |
|
29 Japanse Lang. File Hirosama http://hiromasa.zone.ne.jp/ |
|
30 Spanish lang. File Omi http://equipajedemano.info/ |
|
31 Italian lang. File Stefano Aglietti http://wordpress-it.it/ |
|
32 Trad.Chinese File Kirin Lin http://kirin-lin.idv.tw/ |
|
33 Simpl.Chinese File june6 http://www.june6.cn/ |
|
34 Swedish Lang. File Tobias Bergius http://tobiasbergius.se/ |
|
35 Czech Lang. File Peter Kahoun http://kahi.cz |
|
36 Finnish Lang. File Olli Jarva http://kuvat.blog.olli.jarva.fi/ |
|
37 Belorussian Lang. File Marcis Gasuns |
|
38 Bulgarian Lang. File Alexander Dichev http://dichev.com |
|
39 |
|
40 Thanks to all contributors and bug reporters! There were much more people involved |
|
41 in testing this plugin and reporting bugs, either by email or in the WordPress forums. |
|
42 |
|
43 Unfortunately I can't maintain a whole list here, but thanks again to everybody not listed here! |
|
44 |
|
45 |
|
46 Release History: |
|
47 ============================================================================== |
|
48 2005-06-05 1.0 First release |
|
49 2005-06-05 1.1 Added archive support |
|
50 2005-06-05 1.2 Added category support |
|
51 2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI |
|
52 2005-06-05 2.0 Various fixes, more help, more comments, configurable filename |
|
53 2005-06-07 2.01 Fixed 2 Bugs: 147 is now _e(strval($i)); instead of _e($i); 344 uses a full < ?php instead of < ? |
|
54 Thanks to Christian Aust for reporting this :) |
|
55 2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/)) |
|
56 Added support for .gz generation |
|
57 Fixed bug which ignored different post/page priorities |
|
58 Should support now different wordpress/admin directories |
|
59 2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars |
|
60 2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3 |
|
61 2005-06-08 2.2 Added language file support: |
|
62 - Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/) |
|
63 - German Language File by Arne Brachhold (http://www.arnebrachhold.de) |
|
64 2005-06-14 2.5 Added support for external pages |
|
65 Added support for Google Ping |
|
66 Added the minimum Post Priority option |
|
67 Added Spanish Language File by César Gómez Martín (http://www.cesargomez.org/) |
|
68 Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/) |
|
69 Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/) |
|
70 2005-07-03 2.6 Added support to store the files at a custom location |
|
71 Changed the home URL to have a slash at the end |
|
72 Required admin-functions.php so the script will work with external calls, wp-mail for example |
|
73 Added support for other plugins to add content to the sitemap via add_filter() |
|
74 2005-07-20 2.7 Fixed wrong date format in additional pages |
|
75 Added Simplified Chinese Language Files by june6 (http://www.june6.cn/) |
|
76 Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/) |
|
77 2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones |
|
78 Added support to use the Popularity Contest plugin by Alex King to calculate post priority |
|
79 Added Button to restore default configuration |
|
80 Added several links to homepage and support |
|
81 Added option to exclude password protected posts |
|
82 Added function to start sitemap creation via GET and a secret key |
|
83 Posts and pages marked for publish with a date in the future won't be included |
|
84 Improved compatiblity with other plugins |
|
85 Improved speed and optimized settings handling |
|
86 Improved user-interface |
|
87 Recoded plugin architecture which is now fully OOP |
|
88 2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible |
|
89 Readded support for tools like w.Bloggar |
|
90 Fixed "doubled-content" bug with WP2 |
|
91 Added xmlns to enable validation |
|
92 2006-03-01 3.0b3 More performance |
|
93 More caching |
|
94 Better support for Popularity Contest and WP 2.x |
|
95 2006-11-16 3.0b4 Fixed bug with option SELECTS |
|
96 Decreased memory usage which should solve timeout and memory problems |
|
97 Updated namespace to support YAHOO and MSN |
|
98 2007-01-19 3.0b5 Javascripted page editor |
|
99 WP 2 Design |
|
100 YAHOO notification |
|
101 New status report, removed ugly logfiles |
|
102 Better Popularity Contest Support |
|
103 Fixed double backslashes on windows systems |
|
104 Added option to specify time limit and memory limit |
|
105 Added option to define a XSLT stylesheet and added a default one |
|
106 Fixed bug with sub-pages. Thanks to: |
|
107 - Mike Baptiste (http://baptiste.us), |
|
108 - Peter Claus Lamprecht (http://fastagent.de) |
|
109 - Glenn Nicholas (http://publicityship.com.au) |
|
110 Improved file handling, thanks to VJTD3 (http://www.VJTD3.com) |
|
111 WP 2.1 improvements |
|
112 2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available |
|
113 Removed the usage of REQUEST_URI since it not correct in all environments |
|
114 Fixed that sitemap.xml.gz was not compressed |
|
115 Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!) |
|
116 Streamlined some code |
|
117 2007-05-17 3.0b7 Added option to include the author pages like /author/john |
|
118 Small enhancements, removed stripos dependency and the added compat function |
|
119 Added check to not build the sitemap if importing posts |
|
120 Fixed missing domain parameter for translator name |
|
121 Fixed WP 2.1 / Pre 2.1 post / pages database changes |
|
122 Fixed wrong XSLT location (Thanks froosh) |
|
123 Added Ask.com notification |
|
124 Removed unused javascript |
|
125 2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included |
|
126 Plugin will be loaded on "init" instead of direclty after the file has been loaded. |
|
127 Added support for robots.txt modification |
|
128 Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id |
|
129 Search engines will only be pinged if the sitemap file has changed |
|
130 2007-09-02 3.0b9 Added tag support for WordPress 2.3 |
|
131 Now using post_date_gmt instead of post_date everywhere |
|
132 Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht) |
|
133 Fixed some missing translation domains, thanks to Kirin Lin! |
|
134 Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz) |
|
135 2007-09-04 3.0b10 Added category support for WordPress 2.3 |
|
136 Fixed bug with empty URLs in sitemap |
|
137 Repaired GET building |
|
138 Added more info on debug mode |
|
139 2007-09-23 3.0b11 Changed mysql queries to unbuffered queries |
|
140 Uses MUCH less memory |
|
141 Fixed really stupid bug with search engine pings |
|
142 Option to set how many posts will be included |
|
143 2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;) |
|
144 Removed useless functions |
|
145 2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen |
|
146 Fixed undefined translation strings |
|
147 Added "safemode" for SQL which doesn't use unbuffered results (old style) |
|
148 Added option to run the building process in background using wp-cron |
|
149 Removed unnecessary function_exists, Thanks to user00265 |
|
150 Added links to test the ping if it failed. |
|
151 2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly |
|
152 Added option to exclude pages or post by ID |
|
153 Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8) |
|
154 2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore) |
|
155 Added Russian Language files by Sergey http://ryvkin.ru |
|
156 2007-12-30 3.0.3 Added Live Search Ping |
|
157 Removed some hooks which rebuilt the sitemap with every comment |
|
158 2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5 |
|
159 2008-04-28 3.0.3.2 Improved WP 2.5 handling |
|
160 2008-04-29 3.0.3.3 Fixed author pages |
|
161 Enhanced background building and increased delay to 15 seconds |
|
162 Background building is enabled by default |
|
163 2008-04-28 3.1b1 Reorganized files in builder, loader and UI |
|
164 Added 2 step loader so only code that's needed will be loaded |
|
165 Improved WP 2.5 handling |
|
166 Secured all admin actions with nonces |
|
167 2008-05-18 3.1b2 Fixed critical bug with the build in background option |
|
168 Added notification if a build is scheduled |
|
169 2008-05-19 3.1b3 Cleaned up plugin directory and moved asset files to subfolders |
|
170 Fixed background building bug in WP 2.1 |
|
171 Removed auto-update plugin link for WP < 2.5 |
|
172 2008-05-22 3.1 Marked as 3.1 stable, updated documentation |
|
173 2008-05-27 3.1.0.1 Extracted UI JS to external file |
|
174 Enabled the option to include following pages of multi-page posts |
|
175 Script tries to raise memory and time limit if active |
|
176 2008-12-21 3.1.1 Fixed redirect issue if wp-admin is rewritten via mod_rewrite, thanks to macjoost |
|
177 Fixed wrong path to assets, thanks PozHonks |
|
178 Fixed wrong plugin URL if wp-content was renamed / redirected, thanks to wnorris |
|
179 Updated WP User Interface for 2.7 |
|
180 Various other small things |
|
181 2008-12-26 3.1.2 Changed the way the stylesheet is saved (default / custom stylesheet) |
|
182 Sitemap is now build when page is published |
|
183 Removed support for static robots.txt files, this is now handled via WordPress |
|
184 Added compat. exceptions for WP 2.0 and WP 2.1 |
|
185 2009-06-07 3.1.3 Changed MSN Live Search to Bing |
|
186 Exclude categories also now exludes the category itself and not only the posts |
|
187 Pings now use the new WordPress HTTP API instead of Snoopy |
|
188 Fixed bug that in localized WP installations priorities could not be saved. |
|
189 The sitemap cron job is now cleared after a manual rebuild or after changing the config |
|
190 Adjusted style of admin area for WP 2.8 and refreshed icons |
|
191 Disabled the "Exclude categories" feature for WP 2.5.1, since it doesn't have the required functions yet |
|
192 2009-06-22 3.1.4 Fixed bug which broke all pings in WP < 2.7 |
|
193 Added more output in debug mode if pings fail |
|
194 Moved global post definitions for other plugins |
|
195 Added small icon for ozh admin menu |
|
196 Added more help links in UI |
|
197 2009-08-24 3.1.5 Added option to completely disable the last modification time |
|
198 Fixed bug regarding the use of the HTTPS url for the XSL stylesheet if the sitemap was build via the admin panel |
|
199 Improved handling of homepage if a single page was set for it |
|
200 Fixed mktime warning which appeared sometimes |
|
201 Fixed bug which caused inf. reloads after rebuilding the sitemap via the admin panel |
|
202 Improved handling of missing sitemaps files if WP was moved to another location |
|
203 2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference" |
|
204 Fixed wrong URLS of multi-page posts (Thanks artstorm!) |
|
205 2009-10-21 3.1.7 Added support for custom taxonomies (Thanks to Lee!) |
|
206 2009-11-07 3.1.8 Improved custom taxonomy handling and fixed wrong last modification date |
|
207 Changed readme and backlinks |
|
208 Fixed fatal error in WP < 2.3 |
|
209 Fixed Update Notice in WP 2.8+ |
|
210 Added warning if blog privacy is activated |
|
211 Fixed custom URLs priorities were shown as 0 instead of 1 |
|
212 2009-11-13 3.1.9 Fixed MySQL Error if author pages were included |
|
213 2009-11-23 3.2 Added function to show the actual results of a ping instead of only linking to the url |
|
214 Added new hook (sm_rebuild) for third party plugins to start building the sitemap |
|
215 Fixed bug which showed the wrong URL for the latest Google ping result |
|
216 Added some missing phpdoc documentation |
|
217 Removed hardcoded php name for sitemap file for admin urls |
|
218 Uses KSES for showing ping test results |
|
219 Ping test fixed for WP < 2.3 |
|
220 |
|
221 Maybe Todo: |
|
222 ============================================================================== |
|
223 - Your wishes :) |
|
224 |
|
225 |
|
226 License: |
|
227 ============================================================================== |
|
228 Copyright 2005 - 2009 ARNE BRACHHOLD (email : himself - arnebrachhold - de) |
|
229 |
|
230 This program is free software; you can redistribute it and/or modify |
|
231 it under the terms of the GNU General Public License as published by |
|
232 the Free Software Foundation; either version 2 of the License, or |
|
233 (at your option) any later version. |
|
234 |
|
235 This program is distributed in the hope that it will be useful, |
|
236 but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
237 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
238 GNU General Public License for more details. |
|
239 |
|
240 You should have received a copy of the GNU General Public License |
|
241 along with this program; if not, write to the Free Software |
|
242 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
243 |
|
244 |
|
245 Developer Documentation |
|
246 ============================================================================== |
|
247 |
|
248 Adding other pages to the sitemap via other plugins |
|
249 |
|
250 This plugin uses the action system of WordPress to allow other plugins |
|
251 to add urls to the sitemap. Simply add your function with add_action to |
|
252 the list and the plugin will execute yours every time the sitemap is build. |
|
253 Use the static method "GetInstance" to get the generator and AddUrl method |
|
254 to add your content. |
|
255 |
|
256 Sample: |
|
257 |
|
258 function your_pages() { |
|
259 $generatorObject = &GoogleSitemapGenerator::GetInstance(); //Please note the "&" sign for PHP4! |
|
260 if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5); |
|
261 } |
|
262 add_action("sm_buildmap","your_pages"); |
|
263 |
|
264 Parameters: |
|
265 - The URL to the page |
|
266 - The last modified data, as a UNIX timestamp (optional) |
|
267 - The Change Frequency (daily, hourly, weekly and so on) (optional) |
|
268 - The priority 0.0 to 1.0 (optional) |
|
269 |
|
270 |
|
271 Rebuilding the sitemap on request |
|
272 |
|
273 If you want to rebuild the sitemap because dynamic content from your plugin has changed, |
|
274 please use the "sm_rebuild" hook which is available since 3.1.9. |
|
275 All other methods, like calling the Build method directly are highly unrecommended and might |
|
276 not work anymore with the next version of the plugin. Using this hook, the sitemap plugin will |
|
277 take care of everything like loading the required classes and so on. |
|
278 |
|
279 Sample: |
|
280 |
|
281 do_action("sm_rebuild"); |
|
282 |
|
283 The sitemap might not be rebuild immediately, since newer versions use a background WP-Cron |
|
284 job by default to prevent that the user has to wait and avoid multiple rebuilds within a very short time. |
|
285 In case the sitemap plugin is not installed, nothing will happen and no errors will be thrown. |
|
286 |
|
287 =============================================== |
|
288 |
|
289 Adding additional PriorityProviders |
|
290 |
|
291 This plugin uses several classes to calculate the post priority. |
|
292 You can register your own provider and choose it at the options screen. |
|
293 |
|
294 Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class |
|
295 which has a default constructor and a method called GetPostPriority |
|
296 which you can override. |
|
297 |
|
298 Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class |
|
299 for an example. |
|
300 |
|
301 To register your provider to the sitemap generator, use the following filter: |
|
302 |
|
303 add_filter("sm_add_prio_provider","AddMyProvider"); |
|
304 |
|
305 Your function could look like this: |
|
306 |
|
307 function AddMyProvider($providers) { |
|
308 array_push($providers,"MyProviderClass"); |
|
309 return $providers; |
|
310 } |
|
311 |
|
312 Note that you have to return the modified list! |