{"id":319965,"date":"2026-10-31T11:28:01","date_gmt":"2026-10-31T11:28:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kvkk-hazir\/"},"modified":"2026-10-31T11:43:07","modified_gmt":"2026-10-31T11:43:07","slug":"umay-cerez-yoneticisi","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/umay-cerez-yoneticisi\/","author":23194996,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"Umay \u00c7erez Y\u00f6neticisi","header_author":"Umay Ajans","header_description":"Cookie consent for Turkish websites based on the KVKK Cookie Guidelines: consent banner, blocking before consent, site scan and consent records.","assets_banners_color":"212742","last_updated":"2026-10-31 11:43:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.umayajans.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":56,"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":"umayajans","date":"2026-10-31 11:43:07","revision":3776762}},"upgrade_notice":{"1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3776730,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3776730,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-tr_TR.png":{"filename":"banner-1544x500-tr_TR.png","revision":3776730,"resolution":"1544x500","location":"assets","locale":"tr_TR","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3776730,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-tr_TR.png":{"filename":"banner-772x250-tr_TR.png","revision":3776730,"resolution":"772x250","location":"assets","locale":"tr_TR","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3776730,"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":3776730,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3776730,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3776730,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3776730,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3776730,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3776730,"resolution":"6","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"Cookie banner on the front end with equal Accept, Reject and Settings buttons.","2":"Preferences window with unticked optional categories and the visitor's consent ID.","3":"Cookie inventory with the results of a site scan.","4":"Settings screen with live preview and the guidelines checklist.","5":"Consent records with search and CSV export.","6":"Placeholder shown instead of an embedded video until the visitor allows marketing cookies."}},"plugin_section":[],"plugin_tags":[223629,20272,16626,131785,211769],"plugin_category":[],"plugin_contributors":[262143],"plugin_business_model":[],"class_list":["post-319965","plugin","type-plugin","status-publish","hentry","plugin_tags-consent-mode","plugin_tags-cookie-banner","plugin_tags-cookie-consent","plugin_tags-gdpr","plugin_tags-kvkk","plugin_contributors-umayajans","plugin_committers-umayajans"],"banners":{"banner":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/banner-772x250.png?rev=3776730","banner_2x":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/banner-1544x500.png?rev=3776730","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/icon-128x128.png?rev=3776730","icon_2x":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/icon-256x256.png?rev=3776730","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/screenshot-1.png?rev=3776730","caption":"Cookie banner on the front end with equal Accept, Reject and Settings buttons."},{"src":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/screenshot-2.png?rev=3776730","caption":"Preferences window with unticked optional categories and the visitor's consent ID."},{"src":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/screenshot-3.png?rev=3776730","caption":"Cookie inventory with the results of a site scan."},{"src":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/screenshot-4.png?rev=3776730","caption":"Settings screen with live preview and the guidelines checklist."},{"src":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/screenshot-5.png?rev=3776730","caption":"Consent records with search and CSV export."},{"src":"https:\/\/ps.w.org\/umay-cerez-yoneticisi\/assets\/screenshot-6.png?rev=3776730","caption":"Placeholder shown instead of an embedded video until the visitor allows marketing cookies."}],"raw_content":"<!--section=description-->\n<p>Umay \u00c7erez Y\u00f6neticisi (Umay Cookie Manager) is a cookie consent manager for websites that follow Turkey's Personal Data Protection Law (KVKK) and the Turkish Data Protection Authority's Cookie Guidelines (July 2025). It shows visitors the cookies used on the site by category and only lets tracking code run after the visitor allows the matching category.<\/p>\n\n<p>This plugin is developed by Umay Ajans. It is not affiliated with or endorsed by the Turkish Personal Data Protection Authority (KVKK).<\/p>\n\n<p>The admin screens and the texts shown to visitors are in Turkish, because the plugin is built for websites that serve visitors in Turkey. Every string is translatable.<\/p>\n\n<h4>Consent banner<\/h4>\n\n<ul>\n<li>Accept, Reject and Settings buttons are presented with equal weight, and optional categories start unticked.<\/li>\n<li>Four categories: necessary, functional, analytics and marketing. Category names, descriptions and all banner texts can be edited.<\/li>\n<li>Bar, card or modal layout with a live preview in the settings screen.<\/li>\n<li>A floating icon, a shortcode or a menu link lets visitors change their choice at any time.<\/li>\n<li>A \"request consent again\" button raises the policy version so that earlier choices expire.<\/li>\n<\/ul>\n\n<h4>Blocking before consent<\/h4>\n\n<ul>\n<li>Scripts, iframes and tracking pixels that need consent are neutralised in the page HTML on the server and only activated in the browser after consent.<\/li>\n<li>Scripts that other code adds later (for example a video player API or a tag loaded through Google Tag Manager) are held back as well.<\/li>\n<li>Embedded videos and maps are replaced by a placeholder with an \"allow and load\" button.<\/li>\n<li>The page output is the same for every visitor, so the plugin works with page caching.<\/li>\n<\/ul>\n\n<h4>Integrations<\/h4>\n\n<ul>\n<li>Google Consent Mode v2: every signal starts as denied and is updated when the visitor makes a choice.<\/li>\n<li>WP Consent API: the plugin registers as the consent provider.<\/li>\n<li>PixelYourSite: pixels and server side events follow the visitor's marketing and analytics choices.<\/li>\n<li>LiteSpeed Cache and WP Rocket: banner files are excluded from deferring and combining.<\/li>\n<\/ul>\n\n<h4>Cookie inventory and site scan<\/h4>\n\n<p>The scanner requests pages of your own site from your server, as an anonymous visitor, and matches scripts, iframes, pixels and Set-Cookie headers against a built-in list of common services (Google Tag Manager, Google Analytics, Google Ads, Meta Pixel, YouTube, Vimeo, Google Maps, reCAPTCHA, Microsoft Clarity, Hotjar, Yandex Metrica, TikTok, LinkedIn and more). Found services are added to the inventory, which you can edit.<\/p>\n\n<p>The <code>[kvkk_cerez_tablosu]<\/code> shortcode prints the inventory as a cookie table (name, provider, type, purpose, duration) together with the providers located outside Turkey, for use on your cookie policy page.<\/p>\n\n<h4>Consent records<\/h4>\n\n<p>Each choice is stored in a table in your WordPress database so that you can show when and how consent was given. Records are searchable by consent ID and can be exported as CSV. They are deleted automatically after the retention period you choose (24 months by default).<\/p>\n\n<h4>Data stored by the plugin<\/h4>\n\n<p>The plugin does not send any data to external services. A consent record contains:<\/p>\n\n<ul>\n<li>a random consent ID generated by the server,<\/li>\n<li>the date and time (UTC), the action and the allowed categories,<\/li>\n<li>the policy version and the path of the page where the choice was made,<\/li>\n<li>optionally, a keyed hash (HMAC) of the visitor's shortened IP address (IPv4 \/24, IPv6 \/48).<\/li>\n<\/ul>\n\n<p>It does not store the raw IP address, browser or device details, query strings or the logged in user. The visitor's choice is also saved in a first party cookie named <code>kvkkc_consent<\/code> so that it can be applied on the next page.<\/p>\n\n<h4>Legal notice<\/h4>\n\n<p>This plugin is a technical tool. It helps you apply the recommendations of the KVKK Cookie Guidelines on your site, but it is not legal advice and it does not guarantee legal compliance. The checklist in the settings screen only compares your settings with the guidelines.<\/p>\n\n<h4>Shortcodes and developer notes<\/h4>\n\n<ul>\n<li><code>[kvkk_cerez_tablosu]<\/code> prints the cookie table. Use <code>kategori=\"analitik\"<\/code> for a single category and <code>aktarim=\"hayir\"<\/code> to hide the list of providers abroad.<\/li>\n<li><code>[kvkk_cerez_ayarlari text=\"...\"]<\/code> prints a link that opens the preferences window. A menu link with the address <code>#kvkkc-ayarlar<\/code> does the same.<\/li>\n<li>The <code>kvkkc:consent<\/code> event on <code>document<\/code> carries the allowed categories in <code>detail.categories<\/code>.<\/li>\n<li>A <code>kvkkc_consent<\/code> event is pushed to <code>dataLayer<\/code> with the <code>kvkkc_islevsel<\/code>, <code>kvkkc_analitik<\/code> and <code>kvkkc_pazarlama<\/code> variables, so tags in Google Tag Manager can use it as a trigger.<\/li>\n<li>Add the <code>data-kvkkc-skip<\/code> attribute to a script tag to exclude it from blocking.<\/li>\n<li>Manual blocking rules can be added in the advanced settings as <code>address or code fragment|category<\/code> lines.<\/li>\n<\/ul>\n\n<h4>Development<\/h4>\n\n<p>The source code is developed in public on <a href=\"https:\/\/github.com\/umayajans\/kvkk\">GitHub<\/a>. Bug reports and pull requests are welcome.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to any external service and does not send any data to third parties.<\/p>\n\n<p>It contains a list of domains used by common third party services (for example <code>googletagmanager.com<\/code> or <code>connect.facebook.net<\/code>). The list is only used to recognise the code of those services on your own pages and to hold it back until the visitor gives consent. The site scan only requests pages of your own site from your server.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin. Published pages with common legal page addresses (for example <code>\/kvkk-aydinlatma-metni\/<\/code> or <code>\/cerez-politikasi\/<\/code>) are linked automatically.<\/li>\n<li>Go to Umay \u00c7erez &gt; \u00c7erez Envanteri, start the scan and add the services that were found to the inventory.<\/li>\n<li>Go to Umay \u00c7erez &gt; Ayarlar to adjust the layout and texts. The live preview shows the result.<\/li>\n<li>Add the <code>[kvkk_cerez_tablosu]<\/code> shortcode to your cookie policy page.<\/li>\n<\/ol>\n\n<p>If the site is behind Cloudflare or another reverse proxy, define the header that carries the real visitor IP in <code>wp-config.php<\/code>. It is only used for the optional IP hash and for rate limiting:<\/p>\n\n<pre><code>define( 'KVKKC_TRUSTED_PROXY_HEADER', 'HTTP_CF_CONNECTING_IP' );\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20connect%20to%20any%20external%20service%3F\"><h3>Does the plugin connect to any external service?<\/h3><\/dt>\n<dd><p>No. The plugin itself makes no requests to third party servers. The site scan only requests pages of your own site from your server. Third party code on your site (analytics, ads, videos) is only allowed to load after the visitor gives consent for its category.<\/p><\/dd>\n<dt id=\"how%20can%20a%20visitor%20change%20their%20choice%3F\"><h3>How can a visitor change their choice?<\/h3><\/dt>\n<dd><p>Through the floating cookie icon in the corner of the page, a link added with the <code>[kvkk_cerez_ayarlari]<\/code> shortcode, or a menu link with the address <code>#kvkkc-ayarlar<\/code>. The preferences window also shows the visitor's consent ID.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20change%20my%20cookie%20policy%3F\"><h3>What happens when I change my cookie policy?<\/h3><\/dt>\n<dd><p>Click \"Yeniden r\u0131za iste\" (request consent again) in the plugin header. The policy version goes up, earlier choices are no longer valid and the banner is shown again.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>Yes. The HTML sent to visitors is the same for everyone and the decision is made in the browser. When settings or the inventory change, the plugin clears the cache of LiteSpeed Cache, WP Rocket, W3 Total Cache and WP Super Cache.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20design%20of%20the%20banner%3F\"><h3>Can I change the design of the banner?<\/h3><\/dt>\n<dd><p>The settings screen has controls for the layout, position, colors, font size, corner radius and shadow, with a live preview. For anything beyond that, use the Additional CSS of your theme (Appearance &gt; Customize &gt; Additional CSS, or Styles &gt; Additional CSS in the Site Editor). All elements of the banner use class names that start with <code>kvkkc<\/code>, for example <code>.kvkkc .kvkkc-btn<\/code>.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20available%20in%20english%3F\"><h3>Is the plugin available in English?<\/h3><\/dt>\n<dd><p>The interface is written in Turkish. All strings use the WordPress translation functions, so translations can be added through translate.wordpress.org.<\/p><\/dd>\n<dt id=\"does%20using%20this%20plugin%20make%20my%20site%20compliant%20with%20kvkk%3F\"><h3>Does using this plugin make my site compliant with KVKK?<\/h3><\/dt>\n<dd><p>No plugin can do that on its own. The plugin covers the technical side of cookie consent (blocking, choices, records). Your privacy notice, cookie policy and data transfer arrangements still need to be prepared by you or your legal advisor.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>","raw_excerpt":"Cookie consent for Turkish sites based on the KVKK Cookie Guidelines: blocks trackers until consent, scans the site, keeps minimal consent records.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319965","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=319965"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/umayajans"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319965"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319965"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319965"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319965"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319965"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}