{"id":87356,"date":"2018-07-02T11:06:36","date_gmt":"2018-07-02T11:06:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/openstreetmap-tiles-proxy\/"},"modified":"2026-03-27T09:02:13","modified_gmt":"2026-03-27T09:02:13","slug":"osm-tiles-proxy","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/osm-tiles-proxy\/","author":11414715,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.4.0","stable_tag":"2.4.0","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Tiles Proxy for OpenStreetMap","header_author":"Adrian M\u00f6rchen","header_description":"Helper plugin for embedding OpenStreetMaps","assets_banners_color":"518fc9","last_updated":"2026-03-27 09:02:13","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/paypalme\/scrobbleme","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/osm-tiles-proxy","header_author_uri":"https:\/\/www.meine-infoseite.de\/","rating":3,"author_block_rating":0,"active_installs":200,"downloads":5849,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"Adrian2k7","date":"2018-12-20 15:40:16"},"2.0.1":{"tag":"2.0.1","author":"Adrian2k7","date":"2020-03-25 16:18:04"},"2.1.0":{"tag":"2.1.0","author":"Adrian2k7","date":"2020-06-19 07:59:59"},"2.2.1":{"tag":"2.2.1","author":"Adrian2k7","date":"2023-11-29 12:29:42"},"2.3.0":{"tag":"2.3.0","author":"Adrian2k7","date":"2023-11-29 12:29:42"},"2.3.1":{"tag":"2.3.1","author":"Adrian2k7","date":"2023-11-29 12:29:42"},"2.3.2":{"tag":"2.3.2","author":"Adrian2k7","date":"2023-11-29 12:29:42"},"2.4.0":{"tag":"2.4.0","author":"Adrian2k7","date":"2026-03-27 09:02:13"}},"upgrade_notice":{"":"<p>Nothing special<\/p>"},"ratings":{"1":0,"2":0,"3":"1","4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3492476,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3492476,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3492476,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3492476,"resolution":"772x250","location":"assets","locale":""},"banner.svg":{"filename":"banner.svg","revision":3492476,"resolution":false,"location":"assets","locale":false}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0","2.0.1","2.1.0","2.2.1","2.3.0","2.3.1","2.3.2","2.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3492476,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3492476,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3492476,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Needed URLs are shown in the plugins overview","2":"Example usage with <a href=\"https:\/\/de.wordpress.org\/plugins\/leaflet-map\/\">Leaflet Map<\/a>","3":"Customizer overview"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[230,131785,16164,7686],"plugin_category":[56],"plugin_contributors":[81870,84207,129348],"plugin_business_model":[],"class_list":["post-87356","plugin","type-plugin","status-publish","hentry","plugin_tags-embed","plugin_tags-gdpr","plugin_tags-openstreetmap","plugin_tags-proxy","plugin_category-social-and-sharing","plugin_contributors-adrian2k7","plugin_contributors-creabrain","plugin_contributors-moewe","plugin_committers-adrian2k7"],"banners":{"banner":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/banner-772x250.png?rev=3492476","banner_2x":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/banner-1544x500.png?rev=3492476","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/icon-128x128.png?rev=3492476","icon_2x":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/icon-256x256.png?rev=3492476","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/screenshot-1.png?rev=3492476","caption":"Needed URLs are shown in the plugins overview"},{"src":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/screenshot-2.png?rev=3492476","caption":"Example usage with <a href=\"https:\/\/de.wordpress.org\/plugins\/leaflet-map\/\">Leaflet Map<\/a>"},{"src":"https:\/\/ps.w.org\/osm-tiles-proxy\/assets\/screenshot-3.png?rev=3492476","caption":"Customizer overview"}],"raw_content":"<!--section=description-->\n<p>Tiles Proxy for OpenStreetMap provides a basic proxy, which allows other OpenStreetMap plugins to load map tiles from your server instead from OpenStreetMap servers.<\/p>\n\n<p><strong>Sponsor<\/strong>: <a href=\"https:\/\/sachsen.tours\">sachsen.tours<\/a><\/p>\n\n<p><strong>Contribute<\/strong>: <a href=\"https:\/\/github.com\/moewe-io\/osm-tiles-proxy\">https:\/\/github.com\/moewe-io\/osm-tiles-proxy<\/a><\/p>\n\n<p><strong>Known to work with these plugins<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/de.wordpress.org\/plugins\/leaflet-map\/\">Leaflet Map<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/cpt-to-map-store\/\">Custom Post Type to Map Store<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/geolocation\/\">Geolocation<\/a><\/li>\n<li>Another plugin? Let us <a href=\"https:\/\/wordpress.org\/support\/plugin\/osm-tiles-proxy\">know<\/a>.<\/li>\n<\/ul>\n\n<p><strong>Notes<\/strong><\/p>\n\n<ul>\n<li><em>Beware<\/em>: Depending on your map and the tiles you need, a lot of storage is needed.<\/li>\n<li>Might be slower than official servers (depends on your server)<\/li>\n<li>First requests might be slow as map tiles are cached on request<\/li>\n<\/ul>\n\n<p><strong>Filters<\/strong><\/p>\n\n<p>You can use filters to get the URLs from the plugin:<\/p>\n\n<pre><code>  $proxy_cached_url   = apply_filters( 'osm_tiles_proxy_get_proxy_url', $proxy_cached_url );\n  $proxy_rest_api_url = apply_filters( 'osm_tiles_proxy_get_proxy_rest_url', $proxy_rest_api_url );\n  $leadlet_js_url     = apply_filters( 'osm_tiles_proxy_get_leaflet_js_url', $leadlet_js_url );\n  $leadlet_css_url    = apply_filters( 'osm_tiles_proxy_get_leaflet_css_url', $leadlet_css_url );\n<\/code><\/pre>\n\n<p><strong>Constants<\/strong><\/p>\n\n<p>To disable cache invalidation when WP Rocket or WP Fastest Cache invalidate their cache, you can set the following constant in your <code>wp-config.php<\/code><\/p>\n\n<pre><code>define( 'OSM_PROXY_DISABLE_CLEAR_CACHE', true );\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20every%20plugin%3F\"><h3>Does this work with every plugin?<\/h3><\/dt>\n<dd><p>The plugin must support changing the OpenStreetMap tile server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.4.0 (2026-03-27)<\/h4>\n\n<ul>\n<li>#3 Add option to clear cache<\/li>\n<li>#10 Add option to customize osm-tiles-proxy-osm-url<\/li>\n<li>Downloaded tiles will be cleared when the cache is cleared in <a href=\"https:\/\/www.joomunited.com\/wordpress-products\/wp-speed-of-light\">WP Speed of Light<\/a><\/li>\n<li>Require PHP 8.0, we urge everyone to keep PHP updated<\/li>\n<li>Added deployment scripts for Github Actions<\/li>\n<li>Fixed some warnings<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Fixed warning for registering REST route<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Updated to latest Leaflet.js (1.9.4)<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>The plugin will now automagically overwrite <strong>default<\/strong> settings for <a href=\"https:\/\/de.wordpress.org\/plugins\/leaflet-map\/\">Leaflet Map<\/a>.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Added missing files to SVN, don't know why there are missing... Why can't they just support git, like everyone else?<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Updated to latest Leaflet.js (1.9.3)\n\n<ul>\n<li><strong>Note:<\/strong> This might be incompatible, if you are still using 1.8.x<\/li>\n<\/ul><\/li>\n<li>Registered Leaflet JS and CSS, so it can be enqueued using <code>wp_enqueue_style('leaflet-js')<\/code> and <code>wp_enqueue_script('leaflet-js')<\/code><\/li>\n<li>Fixed js\/css urls shown in administration<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added filters to get URLs for Leaflet and Proxy #5<\/li>\n<li>Added constant <code>OSM_PROXY_DISABLE_CLEAR_CACHE<\/code> to disable cache invalidation (for WP Rocket and WP Fastest Cache)<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed the wrong redirect to placeholder on every 404<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Updated Leaflet.js to 1.6.0<\/li>\n<li>Added a new Customizer panel, which allows you to define some restrictions for downloaded tiles<\/li>\n<li>Require PHP 7.2+, we urge everyone to keep PHP updated and will stick to the official end of security updates for PHP<\/li>\n<li>Downloaded tiles will be cleared when \"entire cache\" is cleared in WP Rocket<\/li>\n<li>Downloaded tiles will be cleared when the cache is cleared in WP Fastest Cache<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Updated leaflet.js to 1.3.4<\/li>\n<li>Fix: Use WP_CONTENT_DIR instead of wp_upload_dir()<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Public release in WordPress repo<\/li>\n<li>Disabled REST API by default<\/li>\n<li>Added local caching of tiles<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added a list of URLs to the plugin overview<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release<\/li>\n<\/ul>","raw_excerpt":"A basic proxy that lets OpenStreetMap plugins load map tiles from your own server instead of OpenStreetMap servers.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/87356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=87356"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adrian2k7"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=87356"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=87356"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=87356"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=87356"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=87356"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=87356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}