[44] | 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!
|
---|