=== LinkCentral – URL shortener, Custom Links & Affiliate Link Shortener with Link Tracking ===
Contributors: designforwp
Donate link: https://designforwp.com/linkcentral/
Tags: link shortener, affiliate links, link tracking, cloaking, custom links
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.6.1
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

The easiest URL shortener, short links manager, and link tracking plugin. Fast and optimised for better redirects, affiliate links and click tracking.


== Description ==
LinkCentral is your all-in-one WordPress solution to **manage, track, and cloak custom links, short URLs, and affiliate links**. Track link performance of all your short links with ease. From custom slugs to advanced analytics, LinkCentral is packed with many customisable features. Seamlessly integrate with page builders, and see how your links perform using the built-in insights.


== Features ==
**🔗 Custom URL Shortener**: Shorten links into clean, memorable URLs. Customize with prefixes and slugs, such as `www.yoursite.com/go/your-custom-slug`

**🔍 Advanced Link Tracking**: Gain insights into your link performance with detailed link clicks analytics.

**💼 Affiliate Link Management**: Cloak and manage your affiliate links while staying organized with categories and private notes.

**🧩 Flexible Integrations**: Easily insert links using our built-in integrations with common page builders or use shortcodes.

**📊 Google Analytics 4 Support**: Send link tracking data to Google Analytics 4.

**🔄 Redirection Settings**: Choose redirection types (301, 302, 307), add _nofollow_, _sponsored_ and other attributes, and more.

**⏰ Plan Redirects Ahead**: Schedule and manage future redirects.

**🔒 Password-Protected Redirects**: Secure your redirects with passwords.

**🔲 QR Codes**: Instantly create QR codes for any of your short links.

**👥 Role Management**: Control access by defining user roles that can create and edit links, view analytics, and manage settings.

**🚀 Optimized and Lightweight**: Built with performance in mind, using native WordPress integration for speed without bloat.

**🔌 WordPress-Friendly**: Utilizes a custom post type for seamless integration into the WordPress ecosystem.

**📥 Easy Import**: Easily import your links from other link management tools or spreadsheets.

🛡️ GDPR Compliance, 🧹 Expiry Management, 🤖 IP and Bot Filtering, 🌐 Affiliate Links management, and much more, all **for free**! 

[Learn more](https://www.designforwp.com/linkcentral/) about everything LinkCentral has to offer.


== Integrate with Ease 🪢 ==
LinkCentral seamlessly integrates with leading page builders and WordPress plugins to make link insertion a breeze. Quickly add links through:

- **Elementor (Free and Pro)**
- **Gutenberg**
- **Classic Editor (TinyMCE)**
- **Beaver Builder**
- and more...


== More Features with LinkCentral Premium ⭐ ==
Unlock exclusive features with LinkCentral Premium to supercharge your link management. Upgrade today and enjoy 14-day money-back guarantee.

**📈 Advanced Insights**: Get detailed analytics, including data on individual links, improved filtering, and geolocation (country, region, city).

**🔀 Dynamic Redirects**: Build dynamic redirects based on date, time, country, device, cookie, and more.

**🖇️ Split testing**: Enable AB split tests and rotate users between different destinations based on the number of clicks on a link.

**🔄 Parameter Forwarding**: Seamlessly pass URL parameters through your shortlinks.

**💾 Data export**: Easily backup or migrate your links and analytics.

**🏷️ UTM Templates**: Create and apply UTM templates to your links.

**📝 Auto-keyword Linking**: Automatically link keywords across your website.

**🚥 Broken Links Checker**: Automatically scans your links for broken URLs and sends email alerts.

**🪝 Webhooks**: Connect to a custom webhook and send data every time a link is clicked.

**🎨 Custom styling**: Add CSS classes to your links on the frontend.

**♾️ Access to Updates**: Enjoy access to future updates and get fast support.

[See all Premium features](https://www.designforwp.com/linkcentral/)


== Privacy 🛡️ ==

= Tracking =
LinkCentral respects you and your users' privacy. You have full control over tracking settings, including the ability to anonymize or opt out of tracking completely.

= 3rd Party Services =
- **Google Analytics 4**: When enabled in the plugin settings, LinkCentral can send your analytics data directly to Google Analytics 4. Read more about [Google’s Terms of Service and Privacy Policy](https://www.google.com/analytics/terms/).
- **MaxMind**: LinkCentral optionally uses MaxMind's free GeoIP database for country-based tracking and redirection. The database is updated biweekly to ensure accuracy. For more information, please see MaxMind's [Terms of Service](https://www.maxmind.com/en/terms-of-use) and [Privacy Policy](https://www.maxmind.com/en/privacy_policy).
- **Freemius**: LinkCentral makes use of Freemius for its Premium licensing. In case of a purchase and when opted in, we may periodically validate your license with the server.


== Installation ==
= Easy installation =
1. Go to the Add New Plugin page in your WordPress admin.
2. Search for "LinkCentral" and select the plugin from the results.
3. Install the plugin and activate it.
4. Find detailed instructions under _Settings_ -> _Usage_ once the plugin is activated.

= Advanced installation =
1. Upload the `linkcentral` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Find detailed instructions under _Settings_ -> _Usage_ once the plugin is activated.


== Frequently Asked Questions ==

= Does LinkCentral work with any WordPress plugin, theme, and setup? =
Yes, LinkCentral leverages WordPress' native _Custom Post Types_ and integrates seamlessly with the WordPress ecosystem. 
It is designed to be highly compatible with WordPress plugins, themes, and setups, and works well with:

* Any WordPress theme
* Plugins such as Advanced Custom Fields (ACF), JetEngine, page builders, and others
* Multisite setup

Additionally, LinkCentral is optimized for internationalization (i18n). It supports multilingual websites and is fully translatable.

= Does LinkCentral integrate with any page builder? =
LinkCentral offers seamless integration with many popular page builders:

1. Look for the LinkCentral logo in your visual editor’s toolbar to quickly insert LinkCentral links.
2. Any changes you make to these links (such as the destination URL or attributes) are automatically synced on the frontend.
3. You can also use shortcodes in any page builder.
4. For Elementor users, LinkCentral supports integration via Dynamic Tags.

You can, of course, manually paste LinkCentral links into your content. However, changes made to those shortlinks won’t be dynamically reflected on the frontend.

Detailed instructions on how to use LinkCentral can be found under _Settings_ -> _Usage_.

= Does it work with a Multisite setup? =
Yes, LinkCentral is fully compatible with a WordPress Multisite setup!

= Can I use an API or extend LinkCentral with hooks? =
Yes, you can extend LinkCentral's functionality through built-in WordPress hooks and REST API support. See the [REST API documentation](https://designforwp.com/docs/linkcentral/developers/rest-api/) for details.

= Can I import links or migrate from other plugins? =
Yes, LinkCentral has a one-click import for ThirstyAffiliates, Pretty Links, and URL Shortener by MyThemeShop, plus an easy CSV import tool for migrating links from plugins like BetterLinks, ClickWhale, Lasso / Simple URLs, URL Shortify, Link Shortner, or any other plugin.

= Does LinkCentral integrate with third-party services? =
Yes, LinkCentral offers robust third-party integrations to enhance your workflows:

- Tracking: Even on the free plan, LinkCentral supports Google Analytics 4 for click tracking and performance insights.
- Automation & Webhooks: The premium version includes webhook support, allowing you to connect LinkCentral with services like Zapier, Make.com, n8n, IFTTT, and many others to send data every time a link is clicked.
- Geo-Tracking: Premium users can also take advantage of integrations with MaxMind and Cloudflare for accurate IP-based geolocation, enabling precise geo-redirects and location-based analytics (country, region, and city).

= Who can benefit from using LinkCentral? =
LinkCentral is a valuable tool for a wide range of users, including:
- Website owners
- Digital marketers
- Affiliate marketers
- SEO specialists
- Content creators
Anyone who needs robust link shortening, redirection, link management, or comprehensive affiliate links tracking on their WordPress site will find LinkCentral useful.


== Screenshots ==
1. **LinkCentral Dashboard**: Overview of all your custom links.
2. **Create New Links**: Manage your custom links effortlessly with our intuitive and user-friendly dashboard.
3. **Insert Links Easily**: Use our flexible integrations with Visual Editor, Gutenberg, Elementor, shortcodes and more to insert short links in text and buttons.
4. **Link Insights**: Detailed URL analytics and performance tracking.
5. **Comprehensive Settings**: Extensive configuration options for link tracking, behavior, integrations, and more.
6. **QR Code Generation**: Easily create and monitor QR codes for your short links.


== Changelog ==
= 1.6.1 =
- **Improvement:** Now correctly supports `.php` in slugs.
- **Improvement:** Performance optimizations.
- **Fix:** Deprecated warning resolved for PHP 8.4

= 1.6.0 =
- **New:** Added a global option to open links in a new tab (our most requested feature).
- **New:** Set global attribute options differently for internal and external links or specific domains.
- **New (Premium):** Geolocation analytics now include region and city data.
- **New (Premium):** The password-protected link page is now customizable for branding.
- **Fix:** Improved mobile responsiveness of the Links Overview page.
- **Fix:** When inserting a shortcode without selected text, a placeholder name is now correctly inserted.
- **Fix:** Importing from ThirstyAffiliates now properly adds the category to the slug when that setting is active.
- **Fix:** General code and performance optimizations.

= 1.5.3 =
- **New:** Added category filter to the links overview page.
- **New:** You can now easily view and clear filters on the links overview page.
- **Fix:** General code optimizations and bug fixes.

= 1.5.2 =
- **Improvement:** You can now download QR codes as SVG files in addition to PNG.
- **Improvement:** You can now see a small 'New' button in the search results dropdown when inserting a link in Gutenberg or Classic Editor. Click it to quickly create a new link.
- **Improvement:** General code & security optimizations.

= 1.5.1 =
- **New:** Import your short links from 'URL Shortener by MyThemeShop'
- **New:** Added a global option to automatically prefix the slug with the selected category when creating or editing a link.
- **New:** You can now add _custom_ rel-attributes (such as `noreferrer` and `noopener`) to your links with both global and per-link options.
- **Improvement:** The Most Popular Links in the Dashboard Widget are now based on your chosen data period from the settings.
- **Improvement:** Added a new setting to let you specify domains that the Broken Links Checker should ignore.
- **Improvement:** Webhooks now support configurable delivery modes for better control (immediate or asynchronous).
- **Improvement:** Major update to automated keyword linking for significantly improved reliability.
- **Improvement:** The "Disable Prefix by Default" option on the settings page has been moved to the Plugin tab.
- **Fix:** Fixed a few small visual issues in the backend when using Safari.
- **Fix:** Addressed a few minor bugs, including one where linked keyword settings were not saved in certain cases.

= 1.5.0 =
- **New:** Added an optional dashboard widget to view a summary of your link analytics directly on your WordPress dashboard. Enable it in the plugin settings.
- **New:** You can now generate a random slug with a single click using the new button added to the Create Link page.
- **Improvement:** Enhanced compatibility with WordPress Multisite. LinkCentral now works out of the box on multisite installations.
- **Improvement:** Optimized the codebase and reduced plugin file size for faster performance.
- **Improvement:** Removed the unused IP address column in the database to further improve user privacy.
- Starting with this version, we are prioritizing stability and reliability for LinkCentral by moving to a lower-frequent release schedule.

= 1.4.7 =
- **New:** LinkCentral is now fully compatible with the WordPress REST API. See the [documentation](https://designforwp.com/docs/linkcentral/developers/rest-api/) for more information.
- **Improvement:** We have improved the way unique clicks are measured to make the data more accurate. This change is applied retroactively, so you may notice a slight increase in your unique clicks statistics.
- **New:** Instantly migrate your links from ThirstyAffiliates or Pretty Links to LinkCentral with one-click.
- **New:** Added an option to reset plugin data in the settings.
- **Improvement:** Added an 'open in new tab' setting for auto-linked keywords.
- **Improvement:** Overall stability and UI improvements to the core plugin, importer tool, broken links checker, and more.
- **Fix:** Resolved a "configuration error" that occurred during redirects in certain situations.

= 1.4.6 =
- **Improvement:** Added a 'per page' option on the links overview page.
- **Improvement:** Link category taxonomy is now non-public.
- **Fix:** Fixed an issue where the Configure links on the settings page weren't expanded with certain themes (e.g. Voxel).
- **Fix:** Fixed an issue where the sorting of links on the links overview page was incorrect.
- **Fix:** Export/Import tool now supports nested categories.

= 1.4.5 =
- **New:** You can now generate QR codes for your short links. This feature can be enabled in the Settings page under the "Plugin" tab.
- **Fix:** Fixed an issue where the operating systems insights would not load.
- **Fix:** Fixed an issue with the broken links checker where certain characters were falsely reported as invalid.
- **Fix:** Resolved an issue where keywords for auto-keyword linking were not being saved to the database in certain situations.

= 1.4.4 =
- **New (Premium):** Auto-keyword linking. Automatically insert links on your website based on specified keywords. You can enable this feature under "Settings > Plugin." Please note: this feature is currently experimental.
- **New:** You can now choose to have prefixes disabled by default for new links with a new optional setting on the settings page.
- **New (Premium):** You can now search for categories on the Insights page to easily view analytics for all links within a specific category.
- **Improvement:** On the Insights page, when searching for a link or category, the Popular Links table now automatically highlights its position(s) in the ranking.
- **Improvement:** Overall improvements to the Insights page, such as adding pagination to graphs, styling, and wording.
- **Improvement:** The Insertion Modal now displays your 5 most recent links by default when adding a link to your content, making your workflow faster and easier.
- **Fix:** Fixed an issue where the number of clicks were showing wrong under User Agents.
- **Fix:** Fixed an edge case where some clicks were attributed to the wrong day due to timezone settings.
- **Fix:** Fixed a PHP notice on the Insights page.
- **Fix:** Fixed an issue where the Export tool was missing a link
- **Change:** The Country Tracking setting is now located under the Tracking tab.
- **Improvement:** Added database indexes to click data for better performance.

= 1.4.3 =
- **Improvement:** We have released a major update to the analytics dashboard with more data and an improved user interface.
- **New:** Added an optional setting to make links case-sensitive.
- **Improvement:** When navigating to a non-existent LinkCentral link, a native 404 error page will be displayed (instead of a blank page).
- **Fix:** Fixed an issue where Private links and Draft links could not be accessed.
- **Fix:** Added proper endpoint protection for REST API routes (a major update to the REST API, including documentation, will follow at a later time).
- **Improvement:** Small tweaks to the Import tool.

= 1.4.2 =
- **Improvement:** Added a search bar to the Links Overview page.

= 1.4.1 =
- **Improvement:** Finalized full multi-language support.
- **New (Premium):** A new Dynamic Redirect variable has been added: redirect users based on the existence or value of a URL parameter.
- **Improvement:** Overall code improvements.

= 1.4.0 =
- **New (Premium):** Automatically scan your website for broken links with the Broken Links Checker. You can enable this under "Settings > Plugin".
- **New (Premium):** Quickly add UTM tags to your affiliate links with the UTM Templates builder. You can enable this under "Settings > Plugin".
- **New (Premium):** Connect to a custom webhook and send data every time a link is clicked. You can enable this under "Settings > Plugin".
- **New (Premium):** A new Dynamic Redirect variable has been added: redirect users based on their logged-in status and/or user role.
- **Fix:** Corrected an issue where parameters on both the slug and the destination URL were not correctly combined.
- **Fix:** Fixed an _invalid click date_ MySQL error.

= 1.3.6 =
- **New:** Import links by uploading a CSV file. This makes it easy to import LinkCentral backups or migrate link data from plugins such as Thirstyaffiliates, Betterlinks, or Pretty Links.
- **New (Premium):** Export your LinkCentral data for backup or migration.
- **New:** It is now possible to disable the default URL prefix for a specific link by clicking on the blue-marked prefix on a link's edit page.
- **Improvement:** Custom URLs are now capable of containing forward slashes (/).
- **Improvement:** Destination URLs now support deeplinking (such as: mailto, tel, whatsapp).
- **Fix:** The Insights page now correctly displays clicks on Private Links.
- **Fix:** Security improvements.

= 1.3.5 =
- **New:** Perform simple A/B split testing with the new Total Clicks and Unique Clicks variable in LinkCentral Premium. This feature allows users to be redirected to different URLs based on the number of clicks on a link, facilitating split testing and rotation testing.
- **Improvement:** Improved UX when trying to save a new link without providing a title
- **Improvement:** Overall code enhancements for link redirections.
- **Improvement:** Package updates.

= 1.3.4 =
- **Improvement:** Dynamic Redirect rules now have buttons to easily adjust their order.
- **Improvement:** We’ve made some under-the-hood enhancements to improve the reliability of link redirects. These changes also lay the groundwork for new dynamic redirect features coming soon.
- **Fix:** Small styling improvements.

= 1.3.3 =
- **Improvement:** Responsive styling has been improved making LinkCentral pages more accessible on mobile and tablet devices.
- **Improvement:** Press Enter to publish new links immediately instead of saving as drafts.
- **New:** Developers can extend LinkCentral's functionality using WordPress hooks. For more information, see our [developer guide](https://designforwp.com/docs/linkcentral/tools-and-other/extend-linkcentral-with-hooks/).

= 1.3.2 =
- **Improvement:** WordPress 6.8 compatibility
- **Improvement:** WP 6.8 introduces Speculative Loading. Filters have been added to exclude LinkCentral links, so that preloaded (but unclicked) links are not included in tracking data.
- **Improvement:** The daterange picker on the Insights page has been improved.

= 1.3.1 =
- **New:** Role Management. Now you can easily define user roles for creating links, accessing analytics, and managing settings — all included in the free version.
- **New:** Advanced Dynamic Redirects now supports a new cookie condition. Users can be redirected based on the existence or value of a cookie.
- **Improvement:** While the Insights graphs are loading, an indicator is now shown.

= 1.3.0 =
- **Change:** Previously, when inserting a *synchronized* link into your content, the link was inserted as an empty link with a data attribute containing the link ID. For efficiency, speed and increased compatibility with other plugins, it will now be inserted as a unique link (`#linkcentral-sync-to-{id}`) instead (without a data attribute). This change is fully backwards compatible with existing links, so you don't need to worry about anything.
- **Improvement:** A few code packages are updated to the latest versions.
- **Fix:** An undefined $pagenow variable error.

= 1.2.6 = 
- **New:** A new Premium option to the Link Insights page shows data since the first recorded click.
- **Improvement:** On the Link Insights page, labels are now hidden when there are more than 30 points to avoid clutter.

= 1.2.5 =
- **Improvement:** The CSS code is refactored and class-names are changed to avoid possible conflicts with other plugins.
- **Improvement:** Clearer messaging when draft links are being accessed.

= 1.2.4 =
- **Improvement:** For increased clarity, we made a few tweaks to the explanations across the plugin on how to insert links into your content.
- **Change:** In the settings, we have moved the 'Default Insertion Type' setting from the <em>Usage</em> tab to a new <em>Plugin Behaviour</em> tab.

= 1.2.3 =
- **Change:** We made a few tweaks and improvements to the code
- **Change:** Library updates

= 1.2.2 =
- **Improvement:** Compatibility with WordPress 6.7
- **Bug fix:** An issue where the geolocation database was not automtically downloaded
- **Change:** We made a few improvements to the code

= 1.2.1 =
- **New:** Introducing our documentation: Get access to detailed guides via the _Documentation_ section in the dashboard to assist with setting up, integrating, and troubleshooting LinkCentral
- **Change:** We have adjusted our Premium licensing system, making it easier to upgrade
- **Improvement:** Enhanced link search field styling in Classic Editor for better clarity

= 1.2.0 =
- **New:** When inserting a link into your content, you now have the option to choose the link type: synchronized, direct, or shortcode
- **New:** Choose your default link insertion method under "Settings > Usage"
- **New:** Quickly create a new link using the shortcut in the "WP Admin Bar > New" menu
- **New:** Improved styling of checkboxes on the Settings page for enhanced user-friendliness
- **Bug fix:** After saving a new MaxMind license, it now directly downloads its geolocation database
- **Bug fix:** Solved an issue where the URL Popover and styling was not shown when Gutenberg was loaded within an iframe
- **Change:** Updated PHP version

= 1.1.0 =
- **New:** Introducing Advanced Dynamic Redirects, a premium feature to create powerful, context-aware redirects based on various variables such as date, time, user location, and device type
- **New:** As part of Advanced Dynamic Redirects, we've introduced country-based user tracking. This feature integrates with two geolocation services: CloudFlare and MaxMind.
- **Improvement:** We changed the Custom Post Type labels for more clarity
- **Improvement:** Code optimisations

= 1.0.0 =
- Initial release
