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