=== PrettyLinks - Affiliate Links, Link Branding, Link Tracking, Marketing and Stripe Payments Plugin ===
Contributors: supercleanse, cartpauj
Donate link: https://prettylinks.com
Tags: affiliate links, link tracking, ecommerce, payments, stripe
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.9
Stable Tag: 3.6.20
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

🌠 The best WordPress link management, branding, tracking, sharing and payments plugin. Easily make pretty & trackable shortlinks. 🔗

== Description ==

PrettyLinks helps you shrink, beautify, track, manage and share any URL on or off of your WordPress website. Create links that look how you want using your own domain name!

## PrettyLinks 🌠

PrettyLinks enables you to shorten links using your own domain name (as opposed to using tinyurl.com, bit.ly, or any other link shrinking service)! In addition to creating clean links, PrettyLinks tracks each hit on your URL and provides a full, detailed report of where the hit came from, the browser, OS, and host. PrettyLinks is a killer plugin for people who want to clean up their affiliate links, track clicks from emails, their links on Twitter to come from their own domain, or generally increase the reach of their website by spreading these links on forums or comments on other blogs.

## PrettyPay™ Links 💵

PrettyLinks now comes with PrettyPay™. PrettyPay™ enables you to make one-click payments with Stripe to sell e-books, courses, downloads, subscriptions and really, anything -- all from your domain name and brand. Share your PrettyPay™ links and start selling anywhere—instantly!

## Examples 👇

This is a link setup using PrettyLinks that redirects to the PrettyLinks Homepage where you can find more info about this Plugin:

http://blairwilliams.com/pl

Here's a named pretty link (I used the slug 'aweber') that does a 307 redirect to my affiliate link for aweber.com:

http://blairwilliams.com/aweber

Here's a link that PrettyLinks generated a random slug for (similar to what bit.ly or tinyurl would do):

http://blairwilliams.com/w7a

## Features ✔️

**[🔗 Create clean, simple URLs that redirect to any other URL](https://prettylinks.com/about#pl-link-setup?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
Easily turn your long URLs into short ones within a matter of seconds.

**[💰 Seamless Stripe Sales](https://prettylinks.com/docs/prettypay-links/?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**\*
Create a branded, one-click path to payment with NEW PrettyPay™ Links. Share your link and start selling anywhere – instantly.

**[🔃 Supports 301, 302, and 307 redirects](https://prettylinks.com/about#pl-redirect-types?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
Redirect users using one of our three redirect types: 301 (Permanent), 302 (Temporary), and 307 (Temporary).

**[🖱️ One-Click Link Sharing](https://prettylinks.com/about#pl-dashboard?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
Copy and manage your PrettyLinks all in one centralized area.

**[⚙️ Fully configurable slugs](https://prettylinks.com/about#pl-link-setup?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
PrettyLinks will automatically generate 3-4 random characters to use as the slug, but you can also create your own slug to use for your URL.

**[🔎 Track the Number of Clicks and Unique Clicks per link](https://prettylinks.com/about#pl-dashboard?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
Track how well your PrettyLinks are performing by viewing the number of overall clicks and unique clicks on your links.

**[📊 Generate Highly Customizable Reports](https://prettylinks.com/about#pl-dashboard?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
Create reports where you can see a configurable chart of clicks per day. The report can be filtered by the specific link clicked, date range, and/or unique clicks.

**[💡 Extremely Intuitive Admin User Interface](https://prettylinks.com/about#pl-dashboard?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
No need to guess where everything is located. PrettyLinks makes the setup and link management process as simple as possible.

**[⬇️ Download Click Details](https://prettylinks.com/about#pl-dashboard?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=features)**
Need to download click data for your links? PrettyLinks has you covered. The plugin will generate a CSV containing all the information you need to successfully manage your links.

... and so much more! [Visit our site](https://prettylinks.com?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=home) to learn more about what PrettyLinks can do for you.

\* Pro users benefit from no added payment processing fees, while a small 3% fee is added per-transaction for free users.

## PrettyLinks Pro 💪

*PrettyLinks Pro* is a **significant upgrade** that adds many tools and redirection types.  Here's a glimpse at some of the different features that PrettyLinks Pro offers:

* [**Product Displays**](https://prettylinks.com/blog/introducing-product-display-add-on?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features) (**NEW!**)
Create beautifully styled and responsive displays for your affiliate links to drive more commissions with ease.

* [**Keyword & URL Replacements**](https://prettylinks.com/features?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features)
Using one of Pretty Link's automation features, you can define a list of keywords and URLs, then PrettyLinks will automatically scan your site's content and replace them with your pretty link.

* [**Advanced Redirect Types**](https://prettylinks.com/features?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features)
Take full control over how your users are redirected. With the Pro version, you can now offer Cloaked redirects, JavaScript redirects, Meta-Refresh redirects, Tracking Pixel redirects, and Geographic redirects.

* [**Automatically Create PrettyLinks for Posts/Pages**](https://prettylinks.com/features?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features)
Another one of Pretty Link's powerful automation features. Whenever a new page or post is published, PrettyLinks will automatically create a pretty link for it.

* [**Link Categories & Tags**](https://prettylinks.com/features?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features)
Make link management easier by grouping your links together and assigning them a category or tag.

* [**Expiring Links**](https://prettylinks.com/features?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features)
Set an expiration date on your links and decide where the user is redirected to after clicking an expired link.

* [**Link Health**](https://prettylinks.com/blog/repair-broken-links?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro_features)
Runs weekly scans on your site to look for and report any broken links you've created within the PrettyLinks plugin.

You can learn more about *PrettyLinks Pro* here:

[Learn More](https://prettylinks.com/why-upgrade?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro "Learn More") | [Pricing](https://prettylinks.com/pricing/plans?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=pro "Pricing")

## Integrations ⚡
* [Google Analytics](https://prettylinks.com/docs/integrating-google-analytics?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=kb) - Easily start tracking your links within Google Analytics
* [MonsterInsights](https://prettylinks.com/docs/integrating-pretty-links-with-monsterinsights?utm_source=wordpress.org&utm_medium=lite_plugin_listing&utm_content=kb) - See how well your links are performing with the MonsterInsights plugin

## What's Next 🤩
Enjoying your time with PrettyLinks? Consider checking out some of our other projects:

* [MemberPress](https://memberpress.com/) - Full-featured Membership solution for WordPress. Control who has access to your site and sell content securely through payment gateways such as Stripe, PayPal, and Authorize.net
* [EasyAffiliate](https://easyaffiliate.com/) - Complete Affiliate Program management plugin for WordPress. Start an Affiliate Program to dramatically increase traffic, attention, and sales.
* [ThirstyAffiliates](https://thirstyaffiliates.com/) - Link cloaking plugin made specifically for affiliate bloggers to start making money.
* [Buy Now Plus](https://buynowplus.com/) - Easily start accepting Credit Card payments through a simple buy now button on your website or social media accounts using the Stripe gateway.
* [Members](https://members-plugin.com/) - Roles and capabilities management plugin for your WordPress site. This is an excellent plugin to use alongside a Membership solution such as MemberPress.

== Installation ==

1. Upload 'pretty-link.zip' to the '/wp-content/plugins/' directory

2. Activate the plugin through the 'Plugins' menu in WordPress

3. Make sure you have changed your permalink Common Settings in Settings -> Permalinks away from "Default" to something else. I prefer using custom and then "/%year%/%month%/%postname%/" for the simplest possible URL slugs with the best performance.

== Frequently Asked Questions ==
= Who will find PrettyLinks useful? =
PrettyLinks is particularly useful to affiliate marketers. It helps them to clean up, brand, group, organize, and track their links. In addition to affiliate marketing, PrettyLinks is also useful to bloggers, podcasters, merchants, social media marketers, and anyone else who wants to easily take control of their link strategy.

= Can I use PrettyLinks with any WordPress theme? =
Absolutely! PrettyLinks operates mainly in the WordPress admin, but the front end features should be totally compatible with any WordPress theme.

= How do I get started with PrettyLinks? =
Getting started with PrettyLinks is incredibly easy. Everything you need to know you can find on our [Getting Started page](https://prettylinks.com/doc-categories/getting-started/).

= Is PrettyLinks Translatable? =
Yes! PrettyLinks is ready for translation. See our [Translating PrettyLinks](https://prettylinks.com/docs/translating-pretty-link-pro/) documentation for more information on how you can translate the plugin into your language.

= What are the differences in redirect types? =
301 (Permanent) redirects are used to tell search engines that a requested URL has been permanently moved to another URL. If you're confident that your target URL will never change, then use this redirect type. 302 and 307 (Temporary) redirects tell search engines that the requested URL has been moved temporarily, but will be back eventually.

== Screenshots ==
1. Setting up a Pretty Link
2. Settings Page
3. PrettyLinks Listing
4. Click Tracking

== Changelog ==
= 3.6.20 =
* Pro: Updated QR Codes to support inner image/logo
* Minor security fix

= 3.6.19 =
* Pro: Empty link rotations gaps - show warning before save

= 3.6.18 =
* Add link_cpt_id column to links CSV export file
* Fix timeout on options page for sites with a large comments database
* Fix slow loading on add/edit link page when using password manager browser extensions
* Fix CSV import failures caused by UTF-8 BOM
* Fix PHP deprecation warnings

= 3.6.17 =
* Add capability check to Ajax endpoints
* Update Growth Tools
* Fix PL search functionality in Gutenberg broken

= 3.6.16 =
* Fix admin menu style on mobile view
* Minor bugfixes and security hardening
* Pro: Fix keyword replacements with new line chars in html attributes

= 3.6.15 =
* Add Growth Tools menu
* Fix error with new notifications inbox
* Fix error when set_time_limit() function doesn't exist

= 3.6.14 =
* Fix translations error w/WP 6.7
* Fix PHP 8.2 notice
* Fix warning during automatic update

= 3.6.12 =
* New In-plugin Notifications inbox
* Fix wrong edition label in lite plugin's main file

= 3.6.11 =
* Fix PHP 8 deprecation warnings

= 3.6.10 =
* Minor bugfixes

= 3.6.9 =
* Fixed Gutenberblock for Link Creation.
* Updated Pretty Link post table Search.

= 3.6.8 =
* Updated getting started URL
* Bug fixes
* Updated onboarding steps
* Fixed ACF integration issue
* New tooltip styling
* Product Display updates

= 3.6.7 =
* Security hardening
* Removed pause option from PrettyPay Customer Portal as Stripe has temporarily removed this feature
* Pro: Fixed QR code generation on nginx webservers 

= 3.6.6 =
* Fixing issue with prior release showing incorrect version

= 3.6.5 =
* Additional security hardening

= 3.6.4 =
* Security fixes (potential for CSRF patched)

= 3.6.3 =
* Add section for PrettyPay™ within the Welcome and Complete steps for in-plugin onboarding
* Add notice of 3% fee to PrettyPay™ Links sub-page for free users
* Add support for ISO encoding when pulling in title from pretty link's target URL
* Fix PHP 8 deprecation warnings
* Fix database error on initial plugin activation
* Fix body class on PrettyLinks page not being escaped
* Pro: Add filter hook for invalid response codes in Link Health

= 3.6.2 = 
* Fix PrettyPay™ auto-creating Thank You pages

= 3.6.1 =
* WP 6.4 Compatibility
* Saving settings would break in some cases
* Show proper error when saving Customer Portal failed
* Link Inserter broken due to missing lodash

= 3.6.0 =
* Launching all-new PrettyPay™ Links
* PHP 8.2 compatibility fixes

= 3.5.3 =
* Fix scheduling and how empty images are displayed within in-plugin notifications
* Replace feature images on onboarding welcome page
* PHP 8.2 compatibility fixes

= 3.5.2 =
* PHP 8.2 compatibility fixes

= 3.5.1 =
* Fix deprecation notice when table result is null
* Fix undefined post type warning when enqueuing frontend scripts

= 3.5.0 =
* NEW: Significantly improved onboarding process by implementing a full-fledged wizard that walks through the basics of setting up PrettyLinks
* Pro: Add filter hooks for geolocation
* Pro: Add ability to scan link's health status individually
* Pro: Display link's health status as a separate column on PrettyLinks listing page
* Pro: Deprecate Pretty Bar
* Pro: Deprecate GA integration
* Pro: Refactor Replacements tab so URL and Keyword replacements function independently of each other
* Prevent redirect code from running during search
* Allow special characters for URI and Referrer fields on Clicks page
* Fix PHP warnings being displayed when editing a restored pretty link

= 3.4.2 =
* Update dependencies used for building Gutenberg assets.

= 3.4.1 =
* Separate PrettyLinks inserter button into its own toolbar group within the Block Editor
* Consolidate PrettyLinks metaboxes
* Add nonces to Tools page
* Pro: Disable content decoding by default on posts built with Elementor
* Pro: Changed "Activate" link to "Manage License" on Plugins screen

= 3.4.0 =
* Introducing support for Add-ons in PrettyLinks (NEW!)
* Add code needed for Product Displays Add-on (Pro Add-on)
* Add footer containing helpful links
* Fix conflict with localized JS object
* Fix issue with keyword replacements and HTML tags containing new line characters (Pro)

= 3.3.3 =
* Fix issue with bulk editing link settings
* Remove legacy code that overrides PHP memory_limit
* Update Link Health to only check for 404 errors (Pro)

= 3.3.2 =
* Optimize SQL query for Link Health (Pro)

= 3.3.1 =
* Fix error on older PHP versions

= 3.3.0 =
* Pro: Add Link Health
* Fix warning when using PHP8 and server-side cron

= 3.2.8 =
* Update readme.txt
* Fix JS error on options page
* Set cookie using secure attribute when accessed via secure connection
* Fix PL Link Inserter jumping to bottom of page on WP 6.1
* Fix Gutenberg deprecation notices

= 3.2.7 =
* Fix index replacements

= 3.2.6 =
* Fix upgrade to Pro bug

= 3.2.5 =
* Fix fatal error if update transient is false
* Notifications Inbox
* Small bug fixes
* Pro: Don't force black background on cloaked urls
* Pro: License key optimizations

= 3.2.4 =
* Review notification dismissal improvements

= 3.2.3 =
* Removing vestigial files

= 3.2.2 =
* Show link slug instead of full URL in list
* PHP 8.0 support
* Pro: Fix keywords being replaced in scripts

= 3.2.1 =
* UI Tweaks
* Pro: Fix auto-created links not using requested slug
* Pro: Link rotation weights of 1% supported now

= 3.1.1 =
* Remove duplicate queries to help performance
* Fix compatibility issue with WPML language prefix in URL's
* Pro: Fix infinite loops with broken or missing import files

= 3.1.0 =
* Add support for sponsored rel tag
* Add sponsored toggle support in gutenberg and tinymce editors
* Fix report graphs not loading for some
* PRO: Fix bug with keywords replacements
* PRO: Cleaned up GA support

= 3.0.10 =
* Add support for nofollow in Gutenberg popup
* Fix post_author being set to 0 on CPT
* Fix for duplicate links being created
* Fix clicks ordering on links list
* Fix Redirection dropdown display WP 3.5

= 3.0.9 =
* Change shortcut key to CTRL + P instead of CTRL + K
* Support for Nofollow and Tracking Quick Edit and Bulk Edit on the links list page
* Fix keyword replacement regex

= 3.0.8 =
* PRO: Fix replacements checkbox getting unchecked when using page builders

= 3.0.7 =
* Fix broken Add New link page - theme conflicts

= 3.0.6 =
* Disable "enter" key on the Target URL field
* Add copy to clipboard to the add/edit link page
* Fix the incorrect message being display when updating a link
* Redirect to the links list page after creating or updating a link
* Add the ability to sort by Clicks to the links list table

= 3.0.5 =
* Fix description conflict with the WP Product Review plugin
* Avoid menu position conflicts
* Add Target column to links list table
* Disable auto-saving on links
* Fix links having Draft status on creation
* Fix not being able to Create/Edit links until saving options
* Fix Prettybar color issue when saving plugin options

= 3.0.4 =
* Fix clicks pagination

= 3.0.3 =
* Fix Avada Fusion Builder conflict
* Fix redirect caching on update/welcome page
* Fix conflict with WP Product Review plugin

= 3.0.2 =
* Minor fixes

= 3.0.1 =
* Fix issues when accessing the plugin as a non-administrator
* Simplify the checks in is_slug_available
* Add slug and url as searchable fields in the links list
* Fix for high CPU issues and huge log sizes
* Fix layout issue on the update page
* Fix category migration not running
* Fix errors when dates are null
* Call wp_cache_delete after update/delete_option
* Only redirect if delete succeeds, redirect status code 307
* Fix failed category/cpt migrations

= 3.0.0 =
* Re-designed Admin UI especially the Admin Links UI including links listing, adding new links and editing links 
* Added an Insert Pretty Link button for Gutenberg Paragraph Blocks
* Security fixes and hardening
* Fixed Slug is not Available Error
* Removed PrettyLinks Groups (lite users will still be able to access legacy groups on the links listing page but pro users & lite users who upgrade to pro will have their groups migrated to become link categories)
* PRO ONLY: Added Pretty Link Categories
* PRO ONLY: Added Pretty Link Tags
* PRO ONLY: Fixed some issues with Pretty Link Imports and Exports
* Many other small fixes and enhancements
