الوصف
Local SEO By Ankit Rawat generates LocalBusiness JSON-LD structured data for one business or for many locations. You enter your business details once, or create a Location for each branch, and the plugin outputs a connected Schema.org entity graph in the page head.
All processing happens on your own server. The plugin makes no outbound HTTP requests from PHP, contains no telemetry, and does not require any external API key or subscription service.
For more information, visit the official Local SEO By Ankit Rawat website.
Structured data
- Sitewide LocalBusiness JSON-LD for LocalBusiness, Restaurant, Hotel, ProfessionalService, and Store.
- A unified entity graph on location pages linking WebSite, Organization, WebPage, BreadcrumbList, and LocalBusiness through stable
@idreferences. - Opening hours and special/holiday hours as
openingHoursSpecification. - Optional WooCommerce Product JSON-LD on product pages.
- When the type is Store and product schema is enabled, up to five published products are listed in an
OfferCatalogon the front page, posts index, and WooCommerce shop. - A Schema Inspector that compiles and validates the generated graph in memory. No page is fetched over the network to do this.
Multiple locations
- A Locations post type with per-location name, address, phone, email, coordinates, hours, service areas, and business type.
- One location can be marked Primary; the plugin keeps that designation consistent.
- Location pages with a theme-overridable template.
- CSV import and export with a dry-run preview, deterministic matching, batched commits, crash recovery, and conflict-aware rollback.
- An XML sitemap and a KML feed for published locations, plus integration with the WordPress core sitemap.
Store locator and maps
[lsar_store_locator]shortcode and a matching block, with browser-local proximity search.- Maps use Leaflet, bundled locally with the plugin. No Google Maps API key is required.
- The location list works without JavaScript.
- Map tiles are requested by the visitor’s browser from a tile provider you configure. See External Services below.
Service-Area Businesses
If a location is marked as a Service-Area Business, the plugin withholds its street address and exact coordinates from JSON-LD, the store locator, the REST API, the KML feed, and the sitemap, and publishes the configured service areas instead. This is intended for home-based and mobile businesses.
Diagnostics
These are advisory reports shown in wp-admin. They describe what is present in your own content and settings.
- Local SEO Health: completeness of your business details and structured data configuration.
- Content Quality: word count, cross-location text similarity, information completeness, and contradictions between page text and configured contact details.
- Entity Consistency: disagreements between your stored location data, the schema the plugin generates, and your page content.
These reports do not predict rankings and do not communicate with Google or any other search engine.
Shortcodes
[lsar_store_locator], `[lsar_directory]`, `[lsar_location_directory]`, `[lsar_nearby_locations]`, `[lsar_opening_hours]`, `[lsar_business_status]`, `[lsar_location_status]`
What it does not do
- No Google Business Profile / Google My Business API synchronization.
- No importing of reviews or ratings from Google, Yelp, Facebook, or any other platform.
- No rank tracking, no citation building, and no directory submissions.
- No AI content generation.
- No guarantee of rankings, rich results, or search visibility. Structured data is an input to search engines; it is not a ranking promise.
Developer filters
local_seo_by_ankit_rawat_schema, `local_seo_by_ankit_rawat_output_local_schema`, `local_seo_by_ankit_rawat_business_type`, `local_seo_by_ankit_rawat_location_entity_graph`, `local_seo_by_ankit_rawat_settings`, `local_seo_by_ankit_rawat_embed_store_catalog`, `local_seo_by_ankit_rawat_output_product_schema`, `local_seo_by_ankit_rawat_product_schema`, `local_seo_by_ankit_rawat_opening_hours_spec`
Use local_seo_by_ankit_rawat_output_local_schema to disable output if another SEO plugin already emits equivalent JSON-LD.
External Services
This plugin relies on two external services. Neither is contacted by the plugin’s PHP code; both are requested directly by a browser.
1. Map tiles (public site)
The store locator and location maps display map imagery loaded by your visitor’s browser from a map tile provider. The default provider is OpenStreetMap.
- Default endpoint:
https://tile.openstreetmap.org/{z}/{x}/{y}.png - Tiles are requested only on pages where you place a map or the store locator.
- What is sent: your visitor’s IP address, browser user agent, and the map coordinates being viewed. This is sent by the browser to the tile provider, not by your server.
- You can change or self-host the tile endpoint in Local SEO Map settings. If you clear the tile URL, no map is rendered and no tile request is made.
- OpenStreetMap Terms of Use, Tile Usage Policy, and Privacy Policy apply.
2. Optional support link (admin only)
The plugin’s settings page shows an optional “support the developer” image link to a payment page hosted by Razorpay.
- The link (
https://razorpay.me/@hridyaa) appears only on the plugin’s own settings page in wp-admin, never on the public site. - No external scripts are loaded. It is a standard HTML anchor; no Razorpay JavaScript runs on your site.
- Nothing is sent to Razorpay unless an administrator clicks the link. Payment processing happens entirely on Razorpay’s site. The plugin never processes, stores, or transmits payment information.
- Supporting development is voluntary and does not affect plugin functionality.
- Razorpay Terms of Service and Privacy Policy apply.
Aside from these, the plugin performs no outbound requests. Leaflet is bundled with the plugin and is not loaded from a CDN.
Troubleshooting
- Schema missing: confirm “Enable schema” is checked and you are viewing the public site, not wp-admin.
- Location pages 404: visit Settings Permalinks once after adding your first location to flush rewrite rules.
- Map not showing: confirm a tile URL is set in Local SEO Map. If it is empty, no map is rendered by design.
- Product schema missing: WooCommerce must be active, product schema enabled, and you must be on a product page.
- Store catalog missing: business type must be Store, product schema enabled, published products must exist, and you must be on the front page, posts index, or shop.
- Submitted review not visible: reviews are held as pending. Approve it, and ensure consent was given, before it appears publicly.
المكوّنات
تقدّم هذه الإضافة 6 مكوّنات.
- Location Address
- Location Opening Hours
- Location Live Status
- Location Map
- Nearby Locations
- Location Directory
التنصيب
- Upload the
local-seo-by-ankit-rawatfolder to/wp-content/plugins/, or install the ZIP from Plugins Add New Upload Plugin. - Activate the plugin through the Plugins screen.
- Open Local SEO By Ankit Rawat in the admin menu.
- Enter your business details and enable schema output only when the data is accurate.
- To use multiple locations, enable multi-location mode and add entries under Locations.
- After adding locations, visit Settings Permalinks once so location page URLs are registered.
الأسئلة المتكررّة
-
Do I need a Google Maps API key?
-
No. Maps use Leaflet, which is bundled with the plugin. Map tiles come from the provider configured in settings; the default is OpenStreetMap.
-
Does this send my data anywhere?
-
The plugin’s PHP makes no outbound HTTP requests and includes no telemetry or analytics. The only third-party requests are map tiles fetched by your visitors’ browsers on pages that display a map, and the optional admin-only support link. Both are described under External Services.
-
How is a Service-Area Business handled?
-
Mark the location as a Service-Area Business. Its street address and exact coordinates are then withheld from structured data, the store locator, the REST API, the KML feed, and the sitemap. Configured service areas are published instead.
-
Will my settings from earlier versions be kept?
-
Yes. Existing settings are read from the same option key used since 4.0.0 and are not modified by this release. Values from 3.3 are copied on first admin load after upgrade; the old keys are left in the database.
-
Does upgrading from 4.1.0 change my existing schema output?
-
No. If you do not enable multi-location mode, the sitewide JSON-LD is produced by the same code path and has the same shape as in 4.1.0. Multi-location features are additive and stay off until you use them.
-
How do I test the schema?
-
Use Google’s Rich Results Test after enabling schema and entering real business details. The plugin’s own Schema Inspector checks structural validity only; it cannot tell you whether Google will show a rich result.
-
Does this slow the site down?
-
Diagnostics run in wp-admin, not on the public site. On the front end the plugin adds JSON-LD, and adds CSS/JavaScript only on pages that use the store locator, a map, or a location template. Leaflet loads only where a map is rendered.
-
Can this duplicate Yoast, Rank Math, or All in One SEO schema?
-
Yes, if both are configured to output LocalBusiness data. The plugin detects those plugins and warns you. Use
local_seo_by_ankit_rawat_output_local_schemaorlocal_seo_by_ankit_rawat_output_product_schemato disable this plugin’s output where another plugin already provides it. -
Where does the Store product catalog appear?
-
By default only on the front page, the posts index, and the WooCommerce shop. Product pages already have Product JSON-LD. Use the
local_seo_by_ankit_rawat_embed_store_catalogfilter to change placement. -
What happens to my data if I uninstall?
-
Uninstalling removes the plugin’s own settings and cached diagnostic reports. Your Locations, their details, reviews, and services are stored as regular WordPress content and are not deleted.
المراجعات
المساهمون والمطوّرون
“Local SEO By Ankit Rawat” هو برنامج مفتوح المصدر. وقد ساهم هؤلاء الأشخاص بالأسفل في هذه الإضافة.
المساهمونترجمة ”Local SEO By Ankit Rawat“ إلى لغتك.
مُهتم بالتطوير؟
تصفّح الشفرة، تحقق من مستودع SVN، أو الاشتراك في سجل التطوير بواسطة RSS.
سجل التغييرات
4.5.0
- Added explicit search preview disclaimers to prevent unrealistic ranking expectations.
- Refactored side diagnostic panels in location editor to intuitive business terminology (“Search Readiness”, “Profile Consistency”, “Content Quality”).
- Simplified empty state and onboarding wizard descriptions to plain English.
- Audited and verified competitor UX parity against Yoast Local SEO, Rank Math Local, and AIOSEO Local.
- Maintained full backwards compatibility, security invariants, and authoritative SAB address protection.
4.4.0
- Overhauled Location Editor with progressive, plain-language workflow (“Where do you serve customers?”, “Business & Contact Details”, “Where is your business?”).
- Added interactive inline services and FAQs management directly inside the location editor.
- Added “Copy Monday to all days” convenience button for rapid opening hours configuration.
- Added live Search Presence preview simulation snapshot in the location editor.
- Added reassuring post-save feedback notices with direct action links and soft missing information suggestions.
- Added welcoming empty-state onboarding card on the Locations list screen.
- Maintained hard backend privacy guardrail protecting Service-Area Business addresses and coordinates.
4.3.0
- Added streamlined goal-oriented admin navigation (Overview, Locations, Search & Sitemaps, Recommendations, Settings).
- Added 5-second Overview Dashboard with core local SEO health status, location inventory breakdown, live sitemap owner, customer reviews, and prioritized actionable fixes.
- Added welcoming first-run onboarding empty state for fresh installations.
- Refactored admin terminology to plain, user-friendly language (Business & Contact Details, Profile Accuracy, Private Address Protection).
- Added 3-tier progressive disclosure for advanced SEO diagnostics and telemetry.
4.2.1
- Added centralized Sitemap Ownership Manager with Automatic (Recommended), Always Use Local SEO, and Disable Local SEO modes.
- Added intelligent sitemap coexistence yielding for Rank Math, Yoast SEO, AIOSEO, SEOPress, and The SEO Framework to prevent duplicate location sitemaps.
- Added automatic sitemap recovery when competing SEO plugins are deactivated or configured to exclude locations.
- Added WordPress Core sitemap post types deduplication filter.
- Added Location Sitemap status card with live owner, location URL coverage, active URL links, and collapsible technical diagnostic telemetry.
4.2.0
- Added a Locations post type for managing multiple business locations, with per-location name, address, phone, email, coordinates, hours, service areas, and business type.
- Added a unified Schema.org entity graph on location pages linking WebSite, Organization, WebPage, BreadcrumbList, and LocalBusiness by stable
@id. - Added
[lsar_store_locator]and a matching block, with browser-local proximity search and locally bundled Leaflet. No Google Maps API key required. - Added location pages with a theme-overridable template, plus directory, nearby-location, opening-hours, and business-status shortcodes.
- Added opening hours and special/holiday hours, output as
openingHoursSpecification. - Added Service-Area Business support. Street address and exact coordinates are withheld from schema, the store locator, REST, KML, and sitemaps.
- Added CSV import and export with dry-run preview, deterministic matching, batched commits, crash recovery, and conflict-aware rollback.
- Added an XML sitemap and KML feed for published locations, plus WordPress core sitemap integration.
- Added first-party review collection with moderation. Submitted reviews are held as pending and never appear publicly until approved. Only approved, consented reviews contribute to
AggregateRating. - Added a REST API for locations, services, geography, reviews, and administrative operations. All mutating and administrative routes require
manage_options; single-location re-checks requireedit_poston that location. - Added Local SEO Health, Content Quality, and Entity Consistency diagnostics in wp-admin.
- Added a Schema Inspector that compiles and validates the entity graph in memory without fetching any URL.
- Security: capped stored reviews per location and added a per-client cooldown on anonymous review submission, preventing unbounded post meta growth.
- Fixed: Service-Area Business coordinates are no longer emitted in
GeoCoordinates. - Fixed: the location entity graph filter now runs exactly once per page render.
- Fixed: deactivation now clears all scheduled events the plugin created.
- Fixed: uninstall now removes all plugin-owned options while preserving Locations and their content.
- Documented map tile loading as an external service.
4.1.0
- Redesigned settings screen with business-owner-friendly labels and help text.
- Card-based settings interface grouped by Business Info, Location, Contact, and WooCommerce.
- WordPress Media Library picker and preview for the business logo field.
- Schema Health score: a deterministic 0–10 completeness indicator with actionable recommendations.
- Schema Preview card with inline JSON-LD viewer, Copy JSON button, and Google Rich Results Test link.
- Detection of potential duplicate structured data from Yoast SEO, Rank Math, and All in One SEO.
- Inline validation errors for logo URL, phone number, latitude, longitude, currency code, image URLs, and social profile URLs.
- Dismissible activation admin notice guiding new users to the settings page.
4.0.2
- Fixed support button not rendering on hosts with JavaScript optimization (LiteSpeed Cache, etc.).
- Replaced external Razorpay script embed with a simple payment link — no external JavaScript loaded.
4.0.1
- Verified WordPress compatibility; no code changes required.
- Added optional support/donation link on the settings page.
- Updated official product page URL.
4.0.0
- Namespaced settings option and 3.3 migration (legacy options are not deleted).
- JSON-LD encoding uses JSON_HEX_TAG to prevent script breakout.
- No placeholder NAP in public schema.
- Allowlisted business types.
- Store products emitted as OfferCatalog with ListItem entries (limit 5, published only).
- GPL license file, uninstall handler, tests, and coding-standard configs.
3.3
- Compatibility fix.



