{"id":2120,"date":"2026-05-21T14:48:46","date_gmt":"2026-05-21T11:48:46","guid":{"rendered":"https:\/\/allinonewpsettings.com\/blog\/?p=2120"},"modified":"2026-08-02T12:09:34","modified_gmt":"2026-08-02T12:09:34","slug":"how-to-prevent-image-hotlinking-in-wordpress-with-htaccess","status":"publish","type":"post","link":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/","title":{"rendered":"How to Prevent Image Hotlinking in WordPress with .htaccess"},"content":{"rendered":"<p>A busy forum may embed full-size images from a WordPress media library and shift its bandwidth cost to the site. A strict hotlink rule can stop that traffic and also break legitimate social previews, feeds, CDN delivery and privacy-conscious clients.<\/p>\n<p>Use access logs to identify the real consumers, define an allowlist around business needs and remember that the HTTP Referer header is optional and can be forged.<\/p>\n<div class=\"aiows-article-toc\" style=\"margin:28px 0;padding:20px 22px;border:1px solid #dcdcde;border-radius:12px;background:#fafafa;\">\n<strong style=\"display:block;margin-bottom:10px;font-size:18px;\">Table of contents<\/strong><\/p>\n<ol style=\"margin:0 0 0 20px;\">\n<li><a href=\"#definition\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">What it means<\/a><\/li>\n<li><a href=\"#example\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">A realistic WordPress example<\/a><\/li>\n<li><a href=\"#why\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">Why it matters and when to use it<\/a><\/li>\n<li><a href=\"#beginner\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">A straightforward route for beginners<\/a><\/li>\n<li><a href=\"#advanced\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">The advanced route<\/a><\/li>\n<li><a href=\"#risks\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">Risks, common mistakes, backup, and rollback<\/a><\/li>\n<li><a href=\"#aiows-module\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">How AIOWS helps: AIOWS Htaccess Editor<\/a><\/li>\n<li><a href=\"#related\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">Related AIOWS articles<\/a><\/li>\n<li><a href=\"#conclusion\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">Conclusion and recommended route<\/a><\/li>\n<li><a href=\"#sources\" style=\"color:inherit;text-decoration:underline;text-underline-offset:2px;\">Official sources<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"definition\" style=\"scroll-margin-top:96px;\">What it means<\/h2>\n<p>Hotlink protection checks an image request against its referring page and decides whether to serve, block or replace the asset. Apache rewrite rules can apply that policy to selected file types.<\/p>\n<p>Because browsers may omit the Referer header and non-browser clients can invent it, this is a bandwidth control rather than strong authentication.<\/p>\n<h2 id=\"example\" style=\"scroll-margin-top:96px;\">A realistic WordPress example<\/h2>\n<p>Logs show a third-party forum embedding large uploads, while a newsroom partner and social networks fetch the same images for approved previews. Blocking every off-site referrer would disrupt those channels.<\/p>\n<p>The site allows its own hostnames, CDN, named partner and required preview services, permits the chosen direct-request behavior and denies the confirmed abusive domain.<\/p>\n<h2 id=\"why\" style=\"scroll-margin-top:96px;\">Why it matters and when to use it<\/h2>\n<p>A focused policy can reduce avoidable transfer and discourage routine embedding. It is worthwhile when logs show sustained external use that materially affects capacity or cost.<\/p>\n<p>For stronger control over valuable media, use authenticated delivery, signed URLs or private storage. Referrer rules cannot establish who a requester really is.<\/p>\n<h2 id=\"beginner\" style=\"scroll-margin-top:96px;\">A straightforward route for beginners<\/h2>\n<ol>\n<li>Review image logs and bandwidth to identify important external request sources.<\/li>\n<li>List the site, CDN, approved partners, feeds, search and social preview services that must continue working.<\/li>\n<li>Decide how requests with no Referer header should behave.<\/li>\n<li>Back up <code>.htaccess<\/code> and add a narrow rule for the intended image extensions.<\/li>\n<li>Test an on-site page, direct image URL, CDN URL, feed and representative external embed.<\/li>\n<li>Monitor blocked responses and remove the rule if legitimate distribution is affected.<\/li>\n<\/ol>\n<h2 id=\"advanced\" style=\"scroll-margin-top:96px;\">The advanced route<\/h2>\n<p>Normalize the allowed hostnames carefully and avoid substring matches that accept attacker-controlled domains. Consider whether the rule should return 403, a small replacement asset or another response without creating a recursive hotlink.<\/p>\n<p>Account for CDN origin requests, cached assets, absent headers and variations in <code>Referrer-Policy<\/code>. Edge controls may be more efficient than origin rewrites when the CDN serves most media.<\/p>\n<h2 id=\"risks\" style=\"scroll-margin-top:96px;\">Risks, common mistakes, backup, and rollback<\/h2>\n<p>Overbroad rules commonly block email clients, RSS readers, search crawlers and social previews. Redirecting blocked requests to a large image or to another protected asset can increase traffic or loop.<\/p>\n<p>Retain the previous file and a list of accepted tests. Roll back if approved distribution fails, then refine the source policy from logs rather than adding ad hoc exceptions.<\/p>\n<section aria-labelledby=\"aiows-module\" class=\"aiows-blog-cta\" style=\"margin:38px 0;padding:28px;border:1px solid #cddcff;border-radius:16px;background:#f6f9ff;\">\n<p style=\"margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.05em;color:#1746a2;\">How AIOWS helps:<\/p>\n<h2 id=\"aiows-module\" style=\"margin:0 0 14px;scroll-margin-top:96px;\">AIOWS Htaccess Editor<\/h2>\n<p>AIOWS Htaccess Editor can maintain a supported Apache hotlink rule in the active file and keep the allowlist visible for later review.<\/p>\n<p>Save the file, scope the rule to the required media types and test every approved delivery channel. Revisit the allowlist when CDN or partnership arrangements change.<\/p>\n<p>The editor cannot make Referer data trustworthy or provide authenticated media access. Use CDN controls or signed delivery when the requirement is stronger than deterring ordinary third-party embeds.<\/p>\n<p style=\"margin-bottom:0;\"><a href=\"https:\/\/allinonewpsettings.com\/features\/htaccess-editor\" rel=\"noopener noreferrer\" style=\"display:inline-block;padding:11px 17px;margin:6px 8px 0 0;border-radius:8px;background:#1557ff;color:#fff;text-decoration:none;font-weight:700;\" target=\"_blank\">Explore AIOWS Htaccess Editor<\/a><a href=\"https:\/\/allinonewpsettings.com\/pricing\" rel=\"noopener noreferrer\" style=\"display:inline-block;padding:10px 16px;margin:6px 8px 0 0;border:1px solid #1557ff;border-radius:8px;color:#1557ff;text-decoration:none;font-weight:700;background:#fff;\" target=\"_blank\">Compare AIOWS plans<\/a><\/p>\n<\/section>\n<h2 id=\"related\" style=\"scroll-margin-top:96px;\">Related AIOWS articles<\/h2>\n<ul>\n<li><a href=\"https:\/\/allinonewpsettings.com\/blog\/how-to-disable-directory-listing-in-wordpress-with-htaccess\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Disable Directory Listing in WordPress with .htaccess<\/a><\/li>\n<li><a href=\"https:\/\/allinonewpsettings.com\/blog\/how-to-block-xml-rpc-in-wordpress-with-htaccess\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Block XML-RPC in WordPress with .htaccess<\/a><\/li>\n<li><a href=\"https:\/\/allinonewpsettings.com\/blog\/how-to-add-browser-cache-headers-with-wordpress-htaccess\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Add Browser Cache Headers with WordPress .htaccess<\/a><\/li>\n<\/ul>\n<h2 id=\"conclusion\" style=\"scroll-margin-top:96px;\">Conclusion and recommended route<\/h2>\n<p>Base hotlink protection on observed traffic and an explicit allowlist, then test the channels that legitimately reuse images. Treat it as a cost-control measure, not a security boundary.<\/p>\n<h2 id=\"sources\" style=\"scroll-margin-top:96px;\">Official sources<\/h2>\n<ul class=\"aiows-article-sources\">\n<li><a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/rewrite\/\" target=\"_blank\" rel=\"noopener noreferrer\">Apache URL rewriting guide<\/a><\/li>\n<li><a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/howto\/htaccess.html\" target=\"_blank\" rel=\"noopener noreferrer\">Apache .htaccess guide<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Reduce unwanted image hotlinking without blocking your CDN, search previews, feeds, partners or visitors who send no Referer header.<\/p>\n","protected":false},"author":1,"featured_media":7791,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[110],"tags":[],"class_list":["post-2120","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-htaccess-editor"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.0 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Prevent Image Hotlinking in WordPress with .htaccess<\/title>\n<meta name=\"description\" content=\"Prevent image hotlinking with WordPress .htaccess. Check the relevant WordPress layer, avoid common mistakes, verify the result, and keep a tested rollback.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Prevent Image Hotlinking in WordPress with .htaccess\" \/>\n<meta property=\"og:description\" content=\"Prevent image hotlinking with WordPress .htaccess. Check the relevant WordPress layer, avoid common mistakes, verify the result, and keep a tested rollback.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/\" \/>\n<meta property=\"og:site_name\" content=\"All in One WP Settings\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-21T11:48:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-02T12:09:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/09\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"All in One WP Settings\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"All in One WP Settings\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/\"},\"author\":{\"name\":\"All in One WP Settings\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#\\\/schema\\\/person\\\/daa924a7f9a0d0fbe18ea77286693c57\"},\"headline\":\"How to Prevent Image Hotlinking in WordPress with .htaccess\",\"datePublished\":\"2026-05-21T11:48:46+00:00\",\"dateModified\":\"2026-08-02T12:09:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/\"},\"wordCount\":658,\"publisher\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp\",\"articleSection\":[\"Htaccess Editor\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/\",\"url\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/\",\"name\":\"How to Prevent Image Hotlinking in WordPress with .htaccess\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp\",\"datePublished\":\"2026-05-21T11:48:46+00:00\",\"dateModified\":\"2026-08-02T12:09:34+00:00\",\"description\":\"Prevent image hotlinking with WordPress .htaccess. Check the relevant WordPress layer, avoid common mistakes, verify the result, and keep a tested rollback.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#primaryimage\",\"url\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp\",\"contentUrl\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp\",\"width\":1440,\"height\":720,\"caption\":\"How to Prevent Image Hotlinking in WordPress with .htaccess\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Prevent Image Hotlinking in WordPress with .htaccess\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/\",\"name\":\"All in One WP Settings\",\"description\":\"Fewer plugins. Faster WordPress.\",\"publisher\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#organization\",\"name\":\"All in One WP Settings\",\"url\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/aiows-logo.png\",\"contentUrl\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/aiows-logo.png\",\"width\":772,\"height\":250,\"caption\":\"All in One WP Settings\"},\"image\":{\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/#\\\/schema\\\/person\\\/daa924a7f9a0d0fbe18ea77286693c57\",\"name\":\"All in One WP Settings\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/aiows-avatar\\\/user-1.jpg\",\"url\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/aiows-avatar\\\/user-1.jpg\",\"contentUrl\":\"https:\\\/\\\/allinonewpsettings.com\\\/blog\\\/wp-content\\\/uploads\\\/aiows-avatar\\\/user-1.jpg\",\"caption\":\"All in One WP Settings\"},\"sameAs\":[\"https:\\\/\\\/allinonewpsettings.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Prevent Image Hotlinking in WordPress with .htaccess","description":"Prevent image hotlinking with WordPress .htaccess. Check the relevant WordPress layer, avoid common mistakes, verify the result, and keep a tested rollback.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/","og_locale":"en_US","og_type":"article","og_title":"How to Prevent Image Hotlinking in WordPress with .htaccess","og_description":"Prevent image hotlinking with WordPress .htaccess. Check the relevant WordPress layer, avoid common mistakes, verify the result, and keep a tested rollback.","og_url":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/","og_site_name":"All in One WP Settings","article_published_time":"2026-05-21T11:48:46+00:00","article_modified_time":"2026-08-02T12:09:34+00:00","og_image":[{"width":1440,"height":720,"url":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/09\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp","type":"image\/webp"}],"author":"All in One WP Settings","twitter_card":"summary_large_image","twitter_misc":{"Written by":"All in One WP Settings","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#article","isPartOf":{"@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/"},"author":{"name":"All in One WP Settings","@id":"https:\/\/allinonewpsettings.com\/blog\/#\/schema\/person\/daa924a7f9a0d0fbe18ea77286693c57"},"headline":"How to Prevent Image Hotlinking in WordPress with .htaccess","datePublished":"2026-05-21T11:48:46+00:00","dateModified":"2026-08-02T12:09:34+00:00","mainEntityOfPage":{"@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/"},"wordCount":658,"publisher":{"@id":"https:\/\/allinonewpsettings.com\/blog\/#organization"},"image":{"@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#primaryimage"},"thumbnailUrl":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/09\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp","articleSection":["Htaccess Editor"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/","url":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/","name":"How to Prevent Image Hotlinking in WordPress with .htaccess","isPartOf":{"@id":"https:\/\/allinonewpsettings.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#primaryimage"},"image":{"@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#primaryimage"},"thumbnailUrl":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/09\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp","datePublished":"2026-05-21T11:48:46+00:00","dateModified":"2026-08-02T12:09:34+00:00","description":"Prevent image hotlinking with WordPress .htaccess. Check the relevant WordPress layer, avoid common mistakes, verify the result, and keep a tested rollback.","breadcrumb":{"@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#primaryimage","url":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/09\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp","contentUrl":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/09\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess-en.webp","width":1440,"height":720,"caption":"How to Prevent Image Hotlinking in WordPress with .htaccess"},{"@type":"BreadcrumbList","@id":"https:\/\/allinonewpsettings.com\/blog\/how-to-prevent-image-hotlinking-in-wordpress-with-htaccess\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/allinonewpsettings.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Prevent Image Hotlinking in WordPress with .htaccess"}]},{"@type":"WebSite","@id":"https:\/\/allinonewpsettings.com\/blog\/#website","url":"https:\/\/allinonewpsettings.com\/blog\/","name":"All in One WP Settings","description":"Fewer plugins. Faster WordPress.","publisher":{"@id":"https:\/\/allinonewpsettings.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/allinonewpsettings.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/allinonewpsettings.com\/blog\/#organization","name":"All in One WP Settings","url":"https:\/\/allinonewpsettings.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/allinonewpsettings.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/07\/aiows-logo.png","contentUrl":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/2026\/07\/aiows-logo.png","width":772,"height":250,"caption":"All in One WP Settings"},"image":{"@id":"https:\/\/allinonewpsettings.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/allinonewpsettings.com\/blog\/#\/schema\/person\/daa924a7f9a0d0fbe18ea77286693c57","name":"All in One WP Settings","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/aiows-avatar\/user-1.jpg","url":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/aiows-avatar\/user-1.jpg","contentUrl":"https:\/\/allinonewpsettings.com\/blog\/wp-content\/uploads\/aiows-avatar\/user-1.jpg","caption":"All in One WP Settings"},"sameAs":["https:\/\/allinonewpsettings.com\/blog"]}]}},"lang":"en","translations":{"en":2120,"de":2121,"tr":2122},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/posts\/2120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/comments?post=2120"}],"version-history":[{"count":0,"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/posts\/2120\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/media\/7791"}],"wp:attachment":[{"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/media?parent=2120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/categories?post=2120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/allinonewpsettings.com\/blog\/wp-json\/wp\/v2\/tags?post=2120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}