Automated Internal Links for Product and Category SEO
InternalLinks is a nopCommerce plugin that builds internal links between product and category pages from admin-defined keyword phrases. Each phrase maps to a category, scoped by language and store, and the plugin generates the link rows, renders them in the storefront, and lets admins hide or edit individual results.
What It Does
- Keyword-to-category mapping — admin grid manages LinksWords records mapping comma-separated phrases to a Category, Language and Store
- Duplicate-safe saves — saving a mapping for an existing Category/Language/Store combination updates that record instead of duplicating it
- Per-page link cap — CountLinkPerPage controls how many links render per page and is forced to a minimum of 1
- Products and Categories tabs — list generated LinkProduct and LinkCategory rows with a Hide toggle, inline update and delete
- Category edit panel — injects a links panel into the native Category edit page via the CategoryDetailsBlock widget zone
- Storefront widgets — renders link blocks in the productdetails_bottom and categorydetails_bottom widget zones
- SEO-friendly hrefs — link anchors resolve target category URLs through IUrlRecordService
- Keyword text block — category pages show the raw SEOWords phrase text when a published mapping exists
- Ajax filter awareness — JavaScript hides the keyword text block on nopAjaxFilters or FoxNetSoft Speed Filters completion events
- Sample data generator — Create Sample Data button builds up to 5 demo keyword mappings for top-level categories
- Debug logging — showDebugInfo toggle plus Download and Clear log file buttons for a 10 MB rotating log
- Stored-procedure link generation — FNS_InternalLinks_GetLinkPerProduct and FNS_InternalLinks_GetLinkPerCategory build link rows on first page request
- Automatic cache invalidation — dedicated entity event consumers refresh per-category and per-product cache keys on insert, update and delete
- ACL-aware output — stored procedures take CustomerRole ids, IgnoreAcl and IgnoreStoreLimitations parameters so links respect catalog visibility
How It Works
- Install the plugin and enable it on the InternalLinks settings page.
- Create keyword mappings in the admin grid: Words, Category, Language, Store and Published status.
- On first page request, stored procedures generate LinkProduct and LinkCategory rows for matching entities.
- Customers see internal link anchors and keyword text on product and category detail pages.
- Admins hide individual generated links or edit mappings from the Products and Categories tabs.
Specs & Requirements
- nopCommerce — 5.00, 4.90, 4.80, 4.70, 4.60, 4.50, 4.40, 4.30, 4.20, 4.10
- Plugin type — Misc: a combined widget plugin (IMiscPlugin and IWidgetPlugin) that renders content in storefront widget zones
- Requires — Microsoft SQL Server; the stored procedures behind link generation only run on the MsSqlNopDataProvider
- Store setup — Category, Language and Store records configured, with keyword mappings created per category before links appear
- Integrations — nopAjaxFilters and FoxNetSoft Speed Filters filtration-complete events for storefront JavaScript