{"id":358204,"date":"2026-09-02T14:15:18","date_gmt":"2026-09-02T14:15:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cartaveo-maps\/"},"modified":"2026-09-02T14:15:03","modified_gmt":"2026-09-02T14:15:03","slug":"cartaveo-maps","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/cartaveo-maps\/","author":23559699,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.5.4","stable_tag":"0.5.4","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Cartaveo Maps","header_author":"Cartaveo","header_description":"Embed a collaborative Cartaveo map collection \u2014 your readers can view it and, on open collections, submit new places (moderated by you on Cartaveo). This plugin talks to the Cartaveo service to render maps and fetch entries; see readme.txt.","assets_banners_color":"464645","last_updated":"2026-09-02 14:15:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.5.4":{"tag":"0.5.4","author":"yazzine013","date":"2026-09-02 14:15:03","revision":3678147}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3678147,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3678147,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3678147,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3678147,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3678263,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Cartaveo Maps\",\"description\":\"Try the Cartaveo Map block on a demo page with a real collaborative collection.\",\"author\":\"cartaveo\",\"categories\":[\"map\",\"embed\",\"community\"]},\"landingPage\":\"\\\/\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"cartaveo-maps\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php require_once '\\\/wordpress\\\/wp-load.php'; $content = \\\"<!-- wp:paragraph --><p>This page embeds a live Cartaveo collection with the Cartaveo Map block. Drag the map, open a pin, and scroll down for the plain-HTML place list the plugin prints for search engines. Edit this page to try the block's own controls: height, colour scheme, accent and corner radius.<\\\/p><!-- \\\/wp:paragraph --><!-- wp:cartaveo\\\/map {\\\\\\\"collection\\\\\\\":\\\\\\\"scottish-battlefields-on-the-national-inventory\\\\\\\"} \\\/-->\\\"; $page_id = wp_insert_post( array( 'post_title' => 'A map your readers can add to', 'post_content' => $content, 'post_status' => 'publish', 'post_type' => 'page' ) ); update_option( 'show_on_front', 'page' ); update_option( 'page_on_front', $page_id ); update_option( 'blogname', 'Cartaveo Maps demo' ); update_option( 'blogdescription', 'Collaborative maps in WordPress' );\"}]}"}},"all_blocks":{"cartaveo\/map":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"cartaveo\/map","title":"Cartaveo Map","description":"Embed a collaborative Cartaveo map collection.","category":"embed","icon":"location-alt","attributes":{"collection":{"type":"string","default":""},"height":{"type":"number","default":500},"accent":{"type":"string","default":""},"theme":{"type":"string","default":""},"cornerRadius":{"type":"number","default":8},"showList":{"type":"boolean","default":true}},"supports":{"html":false,"align":["wide","full"]},"editorScript":"file:.\/editor.js","render":"file:.\/render.php","textdomain":"cartaveo-maps"}},"tagged_versions":["0.5.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3678147,"resolution":"1","location":"assets","locale":"","width":1400,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3678147,"resolution":"2","location":"assets","locale":"","width":1400,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3678147,"resolution":"3","location":"assets","locale":"","width":1200,"height":1300},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3678147,"resolution":"4","location":"assets","locale":"","width":1400,"height":900}},"screenshots":{"1":"The block editor: paste a collection's slug and it looks the collection up\nas you type, then shows a live map preview before you publish.","2":"The block's Appearance panel: colour scheme (light, dark or auto) and an\naccent colour that tints the map's links and selected pin.","3":"A published post: the embedded map with the crawlable entry list \u2014 each\nplace linked, with its category and a description snippet \u2014 rendered\nunderneath it.","4":"The plugin's settings page, where you point it at your Cartaveo base URL."}},"plugin_section":[],"plugin_tags":[278880,29605,230,2591,2909],"plugin_category":[49,56],"plugin_contributors":[278882,278881],"plugin_business_model":[],"class_list":["post-358204","plugin","type-plugin","status-publish","hentry","plugin_tags-collaborative-map","plugin_tags-community-map","plugin_tags-embed","plugin_tags-geo","plugin_tags-map","plugin_category-maps-and-location","plugin_category-social-and-sharing","plugin_contributors-cartaveo","plugin_contributors-yazzine013","plugin_committers-cartaveo","plugin_committers-yazzine013"],"banners":{"banner":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/banner-772x250.png?rev=3678147","banner_2x":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/banner-1544x500.png?rev=3678147","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/icon-128x128.png?rev=3678147","icon_2x":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/icon-256x256.png?rev=3678147","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/screenshot-1.png?rev=3678147","caption":"The block editor: paste a collection's slug and it looks the collection up\nas you type, then shows a live map preview before you publish."},{"src":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/screenshot-2.png?rev=3678147","caption":"The block's Appearance panel: colour scheme (light, dark or auto) and an\naccent colour that tints the map's links and selected pin."},{"src":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/screenshot-3.png?rev=3678147","caption":"A published post: the embedded map with the crawlable entry list \u2014 each\nplace linked, with its category and a description snippet \u2014 rendered\nunderneath it."},{"src":"https:\/\/ps.w.org\/cartaveo-maps\/assets\/screenshot-4.png?rev=3678147","caption":"The plugin's settings page, where you point it at your Cartaveo base URL."}],"raw_content":"<!--section=description-->\n<p>Cartaveo Maps embeds a map collection from the Cartaveo service into any post\nor page, via a Gutenberg block or the <code>[cartaveo collection=\"your-slug\"]<\/code>\nshortcode. On collections with open contribution, your readers can submit\nnew places \u2014 submissions are captcha-protected and held for your\nmoderation on Cartaveo. Beneath the map, the plugin renders a crawlable list of the collection's\nentries \u2014 each one a link to its page, with its category and a description\nsnippet \u2014 plus schema.org <code>ItemList<\/code>\/<code>Place<\/code> structured data. The embedded\nmap itself is served <code>noindex<\/code>, so this list is what search engines actually\nread about your map.<\/p>\n\n<p>The block and the shortcode both accept <code>theme<\/code> (<code>light<\/code>, <code>dark<\/code> or <code>auto<\/code>,\nwhich follows each reader's own setting) and <code>accent<\/code> (a hex colour that\ntints the map's links and its selected pin), so the map can be made to sit\nwith your theme rather than against it. An accent that would be unreadable\non the map's background is ignored for text and kept only for the pin.<\/p>\n\n<p>This plugin relies on the Cartaveo service to work \u2014 see the \"External\nservices\" section below for exactly what is sent, when, and under which\nterms.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Cartaveo (https:\/\/cartaveo.com), the collaborative\nmapping service the embedded collections live on. It is needed to render the\nmap itself and to fetch the collection's entries for the crawlable list\nunder it. If you run your own Cartaveo instance, the plugin talks to your\nconfigured base URL instead; everything below then applies to your instance\nrather than the hosted service.<\/p>\n\n<p>What is sent, and when:<\/p>\n\n<ul>\n<li>When a post containing the block or shortcode is rendered, your web\nserver requests the collection's public entries from the Cartaveo API to\nbuild the entry list. Only the collection's identifier is sent, and the\nresponse is cached for an hour, so this is not a per-visit request.<\/li>\n<li>In your visitors' browsers, the embed loader script and the map iframe\nload from Cartaveo. Those requests include your site's hostname and the\nplugin's version, which Cartaveo uses for aggregate embed-usage\nstatistics; as with any web request, Cartaveo's server also sees the\nvisitor's IP address and user agent.<\/li>\n<li>The plugin sends no visitor personal data, no account data and no\ncookies. If a visitor chooses to submit a place on an open collection,\nthey do so inside the map iframe, directly with Cartaveo.<\/li>\n<\/ul>\n\n<p>This service is provided by Cartaveo:\nterms of use (https:\/\/cartaveo.com\/terms),\nprivacy policy (https:\/\/cartaveo.com\/privacy).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Create a collection on Cartaveo and copy its slug.<\/li>\n<li>Add the \"Cartaveo Map\" block (or the <code>[cartaveo]<\/code> shortcode) to a post and\npaste the slug.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20cost%20anything%2C%20or%20do%20i%20need%20an%20api%20key%3F\"><h3>Does it cost anything, or do I need an API key?<\/h3><\/dt>\n<dd><p>No. The plugin is free and GPL-licensed, and creating and moderating\ncollections on Cartaveo is free too. There's no API key to configure \u2014 just\na collection slug.<\/p><\/dd>\n<dt id=\"do%20readers%20need%20a%20cartaveo%20account%20to%20add%20a%20place%3F\"><h3>Do readers need a Cartaveo account to add a place?<\/h3><\/dt>\n<dd><p>No. If you've set the collection's contribution to open, anyone can submit a\nnew place with a quick captcha check. Nothing shows up on your map until you\napprove it on Cartaveo.<\/p><\/dd>\n<dt id=\"how%20does%20moderation%20work%3F\"><h3>How does moderation work?<\/h3><\/dt>\n<dd><p>You choose how open a collection is on Cartaveo: closed, invite-only, or\nopen to anyone. On a moderated collection, submissions sit in your\nmoderation queue there until you approve or reject them \u2014 nothing a reader\nsubmits appears on your site automatically.<\/p><\/dd>\n<dt id=\"who%20owns%20the%20map%20data%3F\"><h3>Who owns the map data?<\/h3><\/dt>\n<dd><p>You do. The collection lives on your own Cartaveo account, the same as any\ncollection you create there. The plugin only embeds it.<\/p><\/dd>\n<dt id=\"can%20the%20map%20match%20my%20theme%3F\"><h3>Can the map match my theme?<\/h3><\/dt>\n<dd><p>Yes. Both the block and the <code>[cartaveo]<\/code> shortcode take a colour scheme\n(light, dark, or auto, which follows each reader's own light\/dark setting)\nand an accent colour that tints the map's links and its selected pin. An\naccent that would be unreadable against the map's background is dropped for\ntext and kept only on the pin, so a bad hex value can't make the map hard to\nread.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>The map itself loads lazily in an iframe, and the entry list under it is\ncached for an hour, so there's no heavy JavaScript added to your theme and\nno per-visit round trip to Cartaveo's API.<\/p><\/dd>\n<dt id=\"how%20do%20i%20install%20it%3F\"><h3>How do I install it?<\/h3><\/dt>\n<dd><p>The usual way: search for \"Cartaveo Maps\" under Plugins \u2192 Add New, or\nupload the zip, then activate it. There's nothing to configure to get\nstarted \u2014 create a collection on Cartaveo, copy its slug, and add the\nCartaveo Map block or the <code>[cartaveo]<\/code> shortcode to a post.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.5.4<\/h4>\n\n<ul>\n<li>The embed loader script is now registered and enqueued through\nWordPress's script API instead of being printed as a raw script tag, and\nis loaded once per page however many maps a post embeds.<\/li>\n<li>The readme now carries a full \"External services\" section: what is sent\nto Cartaveo, when, and links to the service's terms and privacy policy.<\/li>\n<\/ul>\n\n<h4>0.5.3<\/h4>\n\n<ul>\n<li>Internal only: corrected a code-standards ignore comment's placement so\nWordPress.org's automated Plugin Check tool actually reads it.<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>Removed the Update URI header added in 0.4.0 \u2014 WordPress.org's Plugin\nCheck flags it as a hard rejection reason for hosted plugins, since their\nown listing is meant to be the sole update authority.<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>The accent colour help text now says to click a pin in the preview to see\nit \u2014 its only visible effect is on a clicked pin, which wasn't obvious.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Added a corner radius setting (block and shortcode) that rounds the map's\nframe and the \"Add a place\" button to match your theme.<\/li>\n<li>Added a \"show place list\" toggle \u2014 off collapses it behind a \"Show places\"\ndisclosure instead of removing it, so it still reaches search engines.<\/li>\n<li>The block now supports wide and full alignment.<\/li>\n<li>Fixed the map not filling its full column width in the block editor.<\/li>\n<li>Fixed the accent colour setting never being visible to preview in the\nblock editor.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Hardened outgoing requests to the configured Cartaveo base URL so they can\nno longer be pointed at an internal or loopback address on your server.<\/li>\n<li>Added an Update URI to the plugin header so self-hosted installs only ever\ncheck cartaveo.com for updates, never a same-named WordPress.org listing.<\/li>\n<li>Deleting the plugin now also removes its stored settings and cached entry\nlists, rather than leaving them behind in the database.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>The entry list now links each place to its page on Cartaveo and carries its\ncategory and description. Previously it printed bare, unlinked names.<\/li>\n<li>Added schema.org <code>ItemList<\/code>\/<code>Place<\/code> structured data, with coordinates.<\/li>\n<li>Added the plugin's own stylesheet, so the entry list no longer inherits the\nhost theme's list bullets and indents.<\/li>\n<li>Lists longer than ten places put the remainder behind a disclosure; every\nplace stays in the HTML source.<\/li>\n<li>The block editor now looks the collection up as you type, tells you when a\nslug doesn't resolve, and shows a live preview of the map before you\npublish.<\/li>\n<li>New <code>theme<\/code> and <code>accent<\/code> attributes on both the block and the shortcode.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Renamed the block and shortcode attribute <code>dataset<\/code> to <code>collection<\/code>, matching\nCartaveo's own wording. The old name still works, so existing embeds keep\nrendering.<\/li>\n<li>Fixed the settings page link to Cartaveo's \"create a collection\" page.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: block, shortcode, crawlable entry list, settings page.<\/li>\n<\/ul>","raw_excerpt":"Embed collaborative Cartaveo map collections your readers can contribute to.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=358204"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cartaveo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358204"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358204"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358204"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358204"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358204"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}