{"id":339624,"date":"2026-07-14T22:07:48","date_gmt":"2026-07-14T22:07:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/amitry-link-hub-link-in-bio-qr-code\/"},"modified":"2026-07-14T22:22:32","modified_gmt":"2026-07-14T22:22:32","slug":"amitry-link-hub","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/amitry-link-hub\/","author":23468925,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Amitry Link Hub","header_author":"Amitry","header_description":"Create a standalone, theme-independent link hub page with a live-preview builder, animated buttons (PDF, anonymous form, or link), an auto-generated QR code, and anonymous click counts.","assets_banners_color":"0d0c1f","last_updated":"2026-07-14 22:22:32","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/donate\/?hosted_button_id=D8JUQG5NJ4AXS","header_plugin_uri":"https:\/\/amitry.de\/amitry-link-hub\/","header_author_uri":"https:\/\/amitry.de","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"amitry","date":"2026-07-14 22:22:32"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3608124,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3608124,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3608124,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3608124,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3608089,"resolution":"1","location":"assets","locale":"","width":1536,"height":1024},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3608089,"resolution":"2","location":"assets","locale":"","width":1536,"height":1024}},"screenshots":{"1":"Build a link hub in WordPress: add PDF, form and link buttons, set the accent color and mode, and get a downloadable QR code, all with a live phone preview.","2":"The published standalone page as visitors see it, with animated buttons on a theme-independent layout."}},"plugin_section":[],"plugin_tags":[176862,808,195981,175,1373],"plugin_category":[],"plugin_contributors":[260954],"plugin_business_model":[],"class_list":["post-339624","plugin","type-plugin","status-publish","hentry","plugin_tags-bio-link","plugin_tags-landing-page","plugin_tags-link-in-bio","plugin_tags-links","plugin_tags-qr-code","plugin_contributors-amitry","plugin_committers-amitry"],"banners":{"banner":"https:\/\/ps.w.org\/amitry-link-hub\/assets\/banner-772x250.png?rev=3608124","banner_2x":"https:\/\/ps.w.org\/amitry-link-hub\/assets\/banner-1544x500.png?rev=3608124","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/amitry-link-hub\/assets\/icon-128x128.gif?rev=3608124","icon_2x":"https:\/\/ps.w.org\/amitry-link-hub\/assets\/icon-256x256.gif?rev=3608124","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/amitry-link-hub\/assets\/screenshot-1.png?rev=3608089","caption":"Build a link hub in WordPress: add PDF, form and link buttons, set the accent color and mode, and get a downloadable QR code, all with a live phone preview."},{"src":"https:\/\/ps.w.org\/amitry-link-hub\/assets\/screenshot-2.png?rev=3608089","caption":"The published standalone page as visitors see it, with animated buttons on a theme-independent layout."}],"raw_content":"<!--section=description-->\n<p>Amitry Link Hub is a link in bio plugin for WordPress. It turns one short link or QR code into a standalone page that lists your most important buttons: a PDF, an anonymous contact form, or any link. Put the short link or the printed QR code on a poster, a flyer, a business card, or in a social media bio, and manage the target page inside WordPress.<\/p>\n\n<p>Each link hub is a theme-independent landing page under a short URL (yourdomain.com\/l\/your-page by default). It looks the same with every theme and does not load your theme's layout, so it works as a focused link-in-bio page or a simple one-page landing page.<\/p>\n\n<p><strong>Button types<\/strong><\/p>\n\n<ul>\n<li>PDF button: pick a PDF from the Media Library. Visitors open it in an overlay or a new tab.<\/li>\n<li>Form button: a built-in anonymous message form, or a link to any external form.<\/li>\n<li>Link button: any URL, opened in the same or a new tab.<\/li>\n<\/ul>\n\n<p><strong>QR code included<\/strong><\/p>\n\n<p>A QR code for the page is generated directly in the browser and can be downloaded as SVG (for print) or PNG (1024 px). This makes the plugin a QR code generator for each of your link pages. No external QR service is involved.<\/p>\n\n<p><strong>Builder with live preview<\/strong><\/p>\n\n<p>The edit screen shows a phone-sized live preview that updates while you type. Reorder buttons by drag and drop, switch between a dark and a light mode, set an accent color, and upload a logo. The entrance animation of each button can be chosen per block.<\/p>\n\n<p><strong>Anonymous contact form<\/strong><\/p>\n\n<p>The built-in form stores only the message text and the time of the submission as a private entry under Link Hub &gt; Submissions. It does not store IP addresses, names, email addresses, or browser data. Spam protection uses a honeypot, signed time tokens, a site-wide rate limit, and an optional local captcha (a small arithmetic question written in words). You can optionally receive an email notification that a new entry exists; the notification does not contain the message text.<\/p>\n\n<p><strong>Anonymous click counts<\/strong><\/p>\n\n<p>Each button shows a total click count in the builder. Only the aggregate number per button is stored. No IP addresses, no cookies, and no per-click timestamps are recorded.<\/p>\n\n<p><strong>Made for<\/strong><\/p>\n\n<p>Associations and clubs, schools, freelancers, and local businesses that want a single link or a printed QR code that leads to their PDF, their contact option, and their most important links, all hosted on their own domain.<\/p>\n\n<p><strong>No external services<\/strong><\/p>\n\n<p>This plugin does not connect to any external services. QR codes are generated locally in the browser, the captcha is generated and checked locally on your server, and no data is sent to third parties.<\/p>\n\n<p><strong>Credits<\/strong><\/p>\n\n<p>The bundled QR code generator library (assets\/vendor\/qrcode.js) is the qrcode-generator library by Kazuhiko Arase, released under the MIT license. It is included in unminified, human-readable form.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP under Plugins &gt; Add New Plugin &gt; Upload Plugin, or copy the amitry-link-hub folder to \/wp-content\/plugins\/.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Link Hub &gt; Add New, give the page a title, and configure buttons in the builder.<\/li>\n<li>Publish the page. The final URL and the QR code are shown in the builder; download the QR code as SVG or PNG for print.<\/li>\n<\/ol>\n\n<p>If the page shows a 404 after activation, open Settings &gt; Permalinks once and click Save Changes.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20a%20link%20in%20bio%20plugin%3F\"><h3>Is this a link in bio plugin?<\/h3><\/dt>\n<dd><p>Yes. A link hub is a standalone page that lists your buttons and links, the same idea as a link-in-bio page. The difference is that it runs on your own WordPress site and your own domain, and the data stays in your installation.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20as%20an%20alternative%20to%20services%20like%20linktree%3F\"><h3>Can I use it as an alternative to services like Linktree?<\/h3><\/dt>\n<dd><p>Yes. You can build a bio link page with your buttons and share one short link or QR code, similar to hosted link-in-bio services like Linktree. Here the page lives on your domain, on your server, and no data leaves your WordPress installation.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20for%20my%20instagram%20or%20other%20social%20media%20bio%3F\"><h3>Can I use it for my Instagram or other social media bio?<\/h3><\/dt>\n<dd><p>Yes. Publish a link hub, copy its short URL, and place it in your social media bio. Visitors then reach all your buttons from that single link.<\/p><\/dd>\n<dt id=\"does%20it%20generate%20a%20qr%20code%3F\"><h3>Does it generate a QR code?<\/h3><\/dt>\n<dd><p>Yes. A QR code for the page is created in your browser and can be downloaded as SVG or PNG. You can print it on posters, flyers, or business cards. No external QR service is used.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20send%20data%20to%20external%20services%3F\"><h3>Does this plugin send data to external services?<\/h3><\/dt>\n<dd><p>No. There are no external requests. The QR code is generated in your browser, the captcha runs on your own server, and submissions are stored in your own WordPress database.<\/p><\/dd>\n<dt id=\"is%20the%20built-in%20form%20really%20anonymous%3F\"><h3>Is the built-in form really anonymous?<\/h3><\/dt>\n<dd><p>Within WordPress, yes: only the message text and the submission time are stored. No IP address, no name, no email address, and no user agent are saved. Note that server logs of your hosting provider are outside of WordPress and outside the control of this plugin.<\/p><\/dd>\n<dt id=\"does%20the%20captcha%20use%20an%20external%20service%3F\"><h3>Does the captcha use an external service?<\/h3><\/dt>\n<dd><p>No. The captcha is a small arithmetic question written out in words (for example \"What is four plus three?\"). It is generated and verified locally using signed one-time tokens. No third-party captcha service is loaded.<\/p><\/dd>\n<dt id=\"how%20are%20clicks%20counted%3F\"><h3>How are clicks counted?<\/h3><\/dt>\n<dd><p>Anonymously. When a visitor clicks a button, a counter for that button is increased by one. Only the total per button is stored; there are no IP addresses, cookies, or per-click timestamps. Editors see the totals in the builder.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20%2Fl%2F%20url%20prefix%3F\"><h3>Can I change the \/l\/ URL prefix?<\/h3><\/dt>\n<dd><p>Yes. The prefix is filterable in code: add_filter( 'alhub_page_url_prefix', function () { return 'go'; } ); After changing it, open Settings &gt; Permalinks once and click Save Changes.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The link hub page renders standalone and does not use the active theme's layout, so it looks the same with every theme.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20the%20submissions%3F\"><h3>Where do I find the submissions?<\/h3><\/dt>\n<dd><p>Under Link Hub &gt; Submissions in the WordPress admin. Entries are private and cannot be created manually; they only come from the built-in form.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Link in bio page for WordPress with a built-in QR code, animated link buttons and an anonymous contact form. Standalone, no external services.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/339624","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=339624"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/amitry"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=339624"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=339624"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=339624"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=339624"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=339624"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=339624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}