Açık Kaynak Uygulamalar

    Matomo Nedir ve Kendi Sunucunuza Nasıl Kurulur

    Google Analytics'e açık kaynak ve gizlilik dostu alternatif olan Matomo'nun kurulumu ve temel özellikleri.

    11 dk okuma Güncellendi: 10 Temmuz 2026

    Bir web sitesini yıllardır yönetenler bilir: ziyaretçilerin nereden geldiğini, hangi sayfalarda durduğunu ve hangi kampanyanın gerçekten iş yaptığını görmeden karar vermek, karanlıkta yürümeye benzer. Uzun süre bu boşluğu Google Analytics doldurdu. Ancak verinin kimin elinde toplandığı, nerede saklandığı ve nasıl işlendiği artık teknik bir ayrıntı değil; yasal ve etik bir sorumluluk. İşte Matomo, tam bu noktada devreye giren, verinin kontrolünü tümüyle size bırakan açık kaynak bir web analitiği çözümüdür.

    Bu rehberde Matomo'nun ne olduğunu, Google Analytics'ten hangi noktalarda ayrıştığını ve neden birçok kurumun kendi sunucusuna kurmayı tercih ettiğini ele alacağız. Ardından hem klasik LAMP yığını hem de Docker ile adım adım kurulum yapacak, izleme kodunu sitenize nasıl ekleyeceğinizi göstereceğiz. Son olarak KVKK ve GDPR uyumu için en kritik ayarlardan biri olan IP anonimleştirmeyi yapılandıracağız. Amacım, kıdemli bir sistem yöneticisinin bir müşteriye anlatacağı netlikte, uygulanabilir bir yol haritası bırakmak.

    Matomo Nedir, Ne İşe Yarar?#

    Matomo (eski adıyla Piwik), web sitenize gelen trafiği ölçen, açık kaynaklı bir analitik platformudur. Sitenize eklediğiniz küçük bir JavaScript kodu; sayfa görüntülemelerini, tekil ziyaretçileri, oturum sürelerini, trafik kaynaklarını, coğrafi dağılımı, cihaz ve tarayıcı bilgisini kaydeder. Bu veriyi de ayrıntılı, filtrelenebilir bir panoda önünüze koyar.

    Matomo'yu benzerlerinden ayıran şey, kapsam ile kontrolü aynı anda sunmasıdır. Google Analytics'e yakın bir derinlik sağlar: ziyaretçi günlükleri, davranış akışları, dönüşüm hunileri, hedefler, e-ticaret raporları, ısı haritaları ve oturum kayıtları gibi ileri özellikleri vardır. Ancak tüm bu veri, üçüncü bir tarafın bulutunda değil, sizin denetlediğiniz bir sunucuda tutulur. Yani hem kapsamlı bir analiz aracına sahip olur hem de verinizin nerede olduğunu bir gün bile merak etmezsiniz.

    Proje iki biçimde sunulur: geliştiricinin işlettiği bulut aboneliği (Matomo Cloud) ve kendi sunucunuza kurabileceğiniz ücretsiz On-Premise sürümü. Bu yazının odağı, verinin tümüyle sizde kaldığı ikinci seçenektir. Benzer felsefedeki daha hafif bir alternatifi merak ediyorsanız Plausible yazımıza da göz atabilirsiniz; Matomo daha ayrıntılı, Plausible ise daha sade bir yaklaşım benimser.

    Matomo ile Google Analytics Arasındaki Farklar#

    Karar vermeden önce iki aracı yan yana koymak faydalı olur. Aşağıdaki tablo, günlük kullanımda hissedilen temel ayrımları özetliyor:

    ÖzellikMatomo (self-hosted)Google Analytics 4
    Veri sahipliğiTamamen sizde, kendi sunucunuzdaGoogle'ın altyapısında
    Veri örneklemeYok, ham veriyi işlerYüksek trafikte örnekleme yapabilir
    Çerez / izinİsteğe bağlı, çerezsiz mod varÇerez ve rıza yönetimi gerekir
    KVKK/GDPRYapılandırmayla tam uyum mümkünSınır ötesi aktarım riski taşır
    Ham veri erişimiDoğrudan veritabanı ve APISınırlı, arayüz odaklı
    MaliyetYazılım ücretsiz, sunucu maliyetiÜcretsiz katman + veri sınırları
    BakımSize ait (güncelleme, yedek)Google tarafından yönetilir

    En kritik fark veri sahipliğidir. Google Analytics'te veriniz Google'ın sunucularında toplanır ve büyük hesaplarda "örnekleme" (sampling) devreye girerek raporlar yaklaşık değerlere dönüşebilir. Matomo ise ham veriyi eksiksiz işler; on binlerce ziyaretin olduğu bir günde bile gördüğünüz rakam gerçek rakamdır.

    İkinci fark, verinin fiziksel konumudur. Matomo'yu yurt içindeki bir sunucuda barındırdığınızda, analitik veriniz Türkiye sınırları içinde kalır. Bu, özellikle KVKK kapsamında sorumluluğu olan kurumlar için önemli bir kolaylıktır. Buna karşılık Matomo, kendi bakımını sizin üstlenmenizi ister; güncelleme, yedekleme ve sunucu güvenliği sizin sorumluluğunuzdadır. Bu yükü hafifletmek için sunucu yönetimi hizmetimizi değerlendirebilirsiniz.

    Gizlilik ve KVKK/GDPR Avantajı#

    Matomo, "gizlilik önce gelir" ilkesini varsayılan davranışlarına gömer. Bulut analitiği hizmetlerinde veri, tanımı gereği başka bir şirketin sunucusuna akar. Kendi kurulumunuzda ise böyle bir aktarım yoktur; veri sunucunuzda doğar, sunucunuzda ölür.

    Bu yapı, KVKK ve GDPR uyumunu ciddi ölçüde kolaylaştırır. Matomo şu araçları sunar:

    • IP anonimleştirme: Ziyaretçi IP adresinin son bir ila üç sekizlisini maskeleyerek bireyin tanımlanmasını zorlaştırır.
    • Çerezsiz izleme: İzleme çerezlerini tümüyle devre dışı bırakıp rıza penceresi ihtiyacını azaltabilirsiniz.
    • Do Not Track saygısı: Tarayıcının "beni izleme" tercihine otomatik uyar.
    • Veri saklama süresi: Kayıtları belirli bir süre sonra otomatik silecek şekilde ayarlayabilirsiniz.
    • Rıza yönetimi ve dışa aktarma / silme: Bir kullanıcının verisini talep üzerine dışa aktarabilir veya silebilirsiniz; bu, "ilgili kişi hakları" için kritik bir işlevdir.

    Bu özelliklerin doğru yapılandırılması, sitenizin veri işleme envanterini sadeleştirir. Yine de unutmayın: uyum yalnızca analitik aracına değil, sitenizin toplam veri işleme pratiğine bağlıdır. Konuyu bütünsel değerlendirmek için KVKK web sitesi uyumu rehberimiz iyi bir başlangıç olacaktır.

    Kurulum Öncesi Gereksinimler#

    Matomo'nun On-Premise sürümü klasik bir PHP uygulamasıdır; yani çoğu Linux sunucusunda sorunsuz çalışır. Rahat bir kurulum için önerilen asgari altyapı şudur:

    • İşletim sistemi: Ubuntu 22.04/24.04 ya da AlmaLinux/Rocky 9 gibi güncel bir dağıtım.
    • Web sunucusu: Nginx veya Apache.
    • PHP: 8.1 veya üstü; mysqli, gd, mbstring, xml, curl, zip eklentileriyle.
    • Veritabanı: MySQL 5.7+ ya da MariaDB 10.3+.
    • Kaynak: Küçük siteler için 2 çekirdek ve 2 GB RAM yeterlidir; günlük on binlerce ziyaret alan sitelerde arşivleme işlemleri için 4 GB ve üzeri RAM rahat çalışma sağlar.

    Bu ölçekte bir kurulum için paylaşımlı hosting yerine kendinize ait kaynaklara sahip olduğunuz bir ortam daha uygundur. İhtiyacınıza göre bir sanal sunucu (VDS) veya diğer sunucu seçeneklerimizi inceleyebilir; komut satırıyla hiç uğraşmadan tek tıkla kurulum isterseniz doğrudan App Center üzerinden ilerleyebilirsiniz. Panele HTTPS ile erişmek için bir SSL sertifikası de kurmanızı öneririm; analitik verisi hassas bir veridir ve şifresiz taşınmamalıdır.

    LAMP Yığını ile Manuel Kurulum#

    Kontrolü elinizde tutmak isteyen sistem yöneticileri için klasik yol, LAMP/LEMP yığını üzerine manuel kurulumdur. Aşağıdaki adımlar Ubuntu ve Nginx içindir; Apache kullanıyorsanız mantık aynı kalır.

    Önce PHP ve gerekli eklentileri, ardından veritabanını kuralım:

    sudo apt update
    sudo apt install -y nginx mariadb-server php-fpm php-mysql \
      php-gd php-mbstring php-xml php-curl php-zip php-cli unzip
    
    sudo systemctl enable --now nginx mariadb php8.3-fpm
    

    Ardından Matomo için ayrı bir veritabanı ve sınırlı yetkili bir kullanıcı oluşturalım. Kök (root) kullanıcıyı uygulamaya asla vermeyin:

    CREATE DATABASE matomo CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'guclu-bir-parola';
    GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
    FLUSH PRIVILEGES;
    

    Şimdi Matomo'yu indirip web köküne yerleştirelim ve izinleri düzeltelim:

    cd /var/www
    sudo wget https://builds.matomo.org/matomo-latest.zip
    sudo unzip matomo-latest.zip
    sudo chown -R www-data:www-data /var/www/matomo
    sudo find /var/www/matomo -type d -exec chmod 755 {} \;
    sudo find /var/www/matomo -type f -exec chmod 644 {} \;
    

    Nginx için basit bir sanal sunucu tanımı yeterlidir. Aşağıdaki blok, PHP-FPM'e yönlendirme yapar ve hassas dizinlere erişimi kapatır:

    server {
        listen 80;
        server_name analitik.siteadresiniz.com;
        root /var/www/matomo;
        index index.php;
    
        location / {
            try_files $uri $uri/ =404;
        }
    
        location ~ ^/(index|matomo|piwik|js/index)\.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        }
    
        location ~* \.(gif|ico|jpg|png|svg|js|css|woff2)$ {
            expires 30d;
        }
    
        location ~ /(config|tmp|core|lang)/ { deny all; }
        location ~ \.php$ { return 403; }
    }
    

    Yapılandırmayı etkinleştirip Nginx'i yeniden yükledikten sonra tarayıcıdan http://analitik.siteadresiniz.com adresine gidin. Matomo'nun kurulum sihirbazı sizi karşılar; sistem kontrolü, veritabanı bilgileri, ilk süper kullanıcı hesabı ve izlenecek ilk sitenin adresini sırayla ister. Sihirbaz bittiğinde size bir izleme kodu verilir.

    Son ve çok önemli bir adım: Matomo'nun arşivleme işini web isteğine bırakmayın. Yüksek trafikte bu, panelin yavaşlamasına yol açar. Bunun yerine cron ile düzenli arşivleyin:

    # crontab -e ile ekleyin (www-data kullanıcısı için)
    5 * * * * /usr/bin/php /var/www/matomo/console core:archive --url=https://analitik.siteadresiniz.com/ > /dev/null 2>&1
    

    Cron görevleri konusunda daha derine inmek isterseniz Linux cron görevleri rehberine bakabilirsiniz.

    Docker ile Hızlı Kurulum#

    Sunucuya doğrudan paket kurmak yerine izole ve taşınabilir bir kurulum tercih ediyorsanız Docker en pratik yoldur. Aşağıdaki docker-compose.yml, Matomo'yu bir MariaDB veritabanıyla birlikte ayağa kaldırır:

    services:
      db:
        image: mariadb:11
        command: --max-allowed-packet=64MB
        environment:
          MYSQL_ROOT_PASSWORD: cok-gizli-root-parola
          MYSQL_DATABASE: matomo
          MYSQL_USER: matomo
          MYSQL_PASSWORD: guclu-bir-parola
        volumes:
          - db_data:/var/lib/mysql
        restart: unless-stopped
    
      app:
        image: matomo:latest
        environment:
          MATOMO_DATABASE_HOST: db
          MATOMO_DATABASE_USERNAME: matomo
          MATOMO_DATABASE_PASSWORD: guclu-bir-parola
          MATOMO_DATABASE_DBNAME: matomo
        volumes:
          - matomo_data:/var/www/html
        ports:
          - "8080:80"
        depends_on:
          - db
        restart: unless-stopped
    
    volumes:
      db_data:
      matomo_data:
    

    Dosyayı bir dizine kaydedip aşağıdaki komutu çalıştırdığınızda konteynerler başlar:

    docker compose up -d
    

    Ardından http://sunucu-ip:8080 adresine gidip aynı kurulum sihirbazını takip edersiniz; veritabanı bilgisi olarak db sunucu adını ve yukarıdaki kullanıcıyı girersiniz. Gerçek kullanımda bu 8080 portunu doğrudan dünyaya açmak yerine önüne bir ters proxy koyup HTTPS sonlandırması yapmanızı öneririm. Docker mantığına yabancıysanız Docker Compose kullanımı rehberi işinizi kolaylaştırır. Arşivleme cron'unu Docker'da da bir yan konteyner ya da host cron'u ile kurmayı unutmayın.

    İzleme Kodunu Sitenize Ekleme#

    Kurulum bittiğinde Matomo size siteye özel bir izleme kodu üretir. Bu kısa JavaScript parçasını, izlemek istediğiniz her sayfanın </head> etiketinden hemen önce eklemeniz yeterlidir:

    <script>
      var _paq = window._paq = window._paq || [];
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u = "https://analitik.siteadresiniz.com/";
        _paq.push(['setTrackerUrl', u + 'matomo.php']);
        _paq.push(['setSiteId', '1']);
        var d = document, g = d.createElement('script'),
            s = d.getElementsByTagName('script')[0];
        g.async = true; g.src = u + 'matomo.js';
        s.parentNode.insertBefore(g, s);
      })();
    </script>
    

    Buradaki setSiteId değeri, Matomo'nun o siteye verdiği numaradır; birden fazla site izliyorsanız her biri için farklıdır. WordPress kullanıyorsanız bu kodu tema dosyasına elle eklemek yerine resmi Matomo eklentisiyle birkaç tıkta bağlayabilirsiniz; WordPress tarafındaki genel bakım pratikleri için WordPress bakım hizmetimiz de yardımcı olur.

    Kodu ekledikten sonra sitenizi ziyaret edip Matomo panelindeki "Ziyaretçiler → Gerçek Zamanlı" ekranına bakın. Kendi ziyaretinizi anında görüyorsanız izleme çalışıyor demektir. Görmüyorsanız çoğu zaman sorun; yanlış setSiteId, HTTPS/HTTP karışıklığı ya da bir reklam engelleyicidir.

    IP Anonimleştirme ve Gizlilik Ayarları#

    KVKK ve GDPR açısından en çok konuşulan başlık, ziyaretçi IP adresidir. IP, tek başına bir kişisel veri sayılabilir; bu yüzden Matomo'da anonimleştirmeyi açmak neredeyse her kurulum için önerilir.

    Panel üzerinden bunu Yönetim → Gizlilik → Anonimleştir veri menüsünden yapabilirsiniz. Burada IP adresinin kaç sekizlisinin maskeleneceğini seçersiniz. Örneğin iki sekizli maskeleme, 88.246.10.35 adresini 88.246.0.0 biçimine indirger; ziyaretçinin ülkesi/şehri hâlâ yaklaşık bilinir ama birey tanımlanamaz hâle gelir.

    Aynı ekranda üç ayarı daha açmanızı öneririm: Do Not Track başlığına saygı, çerez kullanımını kapatma ve veri saklama süresini sınırlama. Bu tercihler tercih edilirse yapılandırma dosyasına da yansıtılabilir. Örneğin config/config.ini.php içinde IP maskeleme değeri şöyle görünür:

    [Tracker]
    ip_address_mask_length = 2
    
    [General]
    anonymous_do_not_track = 1
    

    Çerezsiz izlemeyi açmak, birçok basit senaryoda çerez rıza penceresi ihtiyacını azaltır. Ancak sitenizde başka çerezler varsa yasal yükümlülüğünüz değişebilir; bu yüzden nihai kararı sitenizin bütünü üzerinden vermelisiniz. Verilerinizi düzenli yedeklemek de gizlilik kadar önemlidir; bir arıza anında analitik geçmişinizi kaybetmemek için yedekleme çözümlerini kurmayı ihmal etmeyin. Sunucuyu istenmeyen trafiğe karşı korumak için önüne bir WAF yerleştirmek de panelinizin güvenliğini artırır.

    Bakım, Güncelleme ve Veriden Anlam Çıkarma#

    Matomo'yu kurmak işin başlangıcıdır; asıl değer, veriyi düzenli okuyup kararlara dönüştürmekte gizlidir. Bakım tarafında dikkat edilecek birkaç sürekli iş vardır: Matomo'nun kendi güncellemelerini takip etmek (panel içinden tek tıkla ya da console core:update ile), PHP ve veritabanı sürümlerini güncel tutmak ve arşivleme cron'unun düzenli çalıştığını doğrulamak.

    Panelde her gün onlarca rapor bulursunuz; ama pratikte birkaç metrik çoğu kararı yönlendirir: hangi sayfalar en çok trafik alıyor, ziyaretçiler nereden geliyor, hangi kampanya dönüşüm getiriyor ve kullanıcılar sitenizde hangi adımda kopuyor. Bu okumaları arama motoru performansınızla birleştirmek isterseniz SEO çalışmalarınızla Matomo verisini yan yana değerlendirmek çok öğreticidir.

    Matomo'nun topladığı ham veriyi kendi gösterge panolarınızda, farklı veri kaynaklarıyla birleştirerek sorgulamak isterseniz bir iş zekâsı aracıyla eşleştirebilirsiniz; bu konuda Metabase yazımız iyi bir devam okuması olacaktır. Mevcut bir analitik kurulumunu ya da sitenizi başka bir sunucuya taşımanız gerekirse site taşıma hizmetimiz süreci sizin yerinize yürütür.

    Sıkça Sorulan Sorular#

    Matomo ücretsiz mi?#

    Matomo'nun kendi sunucunuza kurduğunuz On-Premise sürümü açık kaynaklıdır ve lisans ücreti yoktur; yalnızca çalıştırdığınız sunucunun maliyetini karşılarsınız. Isı haritası, oturum kaydı gibi bazı ileri özellikler ücretli eklenti olarak sunulur. Geliştiricinin işlettiği barındırmalı Matomo Cloud hizmeti ise abonelik esasıyla ücretlidir.

    Matomo, Google Analytics verilerimi taşıyabilir mi?#

    Matomo, geçmiş Google Analytics verinizi doğrudan içeri aktarabilen bir araç sunar; ancak GA4'ün API kısıtları nedeniyle bu aktarım her zaman eksiksiz olmaz. Bu yüzden pek çok yönetici, Matomo'yu kurduğu andan itibaren ileriye dönük yeni veri toplamayı tercih eder ve bir süre iki aracı paralel çalıştırır.

    Matomo sitemi yavaşlatır mı?#

    Sitenize eklenen izleme kodu asenkron çalışır, yani sayfa yüklenmesini bloke etmez ve fark edilir bir yavaşlama yaratmaz. Asıl yük Matomo sunucusunun kendi tarafındadır; bunu da arşivlemeyi web isteğine değil cron'a devrederek yönetirsiniz. Doğru yapılandırılmış bir kurulumda ziyaretçi tarafında hız kaybı yaşanmaz.

    KVKK için IP anonimleştirmesini açmak yeterli mi?#

    IP anonimleştirme önemli bir adımdır ama tek başına tüm uyumu sağlamaz. Bununla birlikte veri saklama süresini sınırlamak, gerekli durumlarda çerezsiz moda geçmek, Do Not Track tercihine saygı göstermek ve sitenizin gizlilik politikasını güncel tutmak gerekir. Uyum, aracın ayarlarının yanı sıra tüm veri işleme sürecinizin bütününe bağlıdır.

    Manuel kurulum mu Docker mı tercih etmeliyim?#

    Sunucuyu doğrudan yönetmeye alışkınsanız ve mevcut bir LAMP yığınınız varsa manuel kurulum daha tanıdık gelir. Kurulumu izole tutmak, kolayca taşımak veya birden fazla uygulamayı yan yana çalıştırmak istiyorsanız Docker daha pratiktir. İkisi de üretime uygundur; seçim, ekibinizin alışkanlığına ve altyapınızın geri kalanına bağlıdır.

    Matomo mu Plausible mı benim için doğru?#

    Ayrıntılı raporlar, dönüşüm hunileri, e-ticaret analizi ve ham veriye erişim istiyorsanız Matomo daha güçlüdür. Sadece "kaç kişi geldi, nereden geldi" sorusuna hafif ve çerezsiz bir yanıt arıyorsanız Plausible daha yalın ve bakımı kolaydır. İhtiyacınızın derinliği bu tercihi belirler; iki aracı Plausible yazımızda daha yakından karşılaştırdık.

    Kapanış#

    Matomo, web analitiğinde "kapsam" ile "kontrolü" aynı çatı altında toplayan ender araçlardan biridir. Google Analytics'in derinliğine yakın raporlar sunarken verinizi kendi sunucunuzda tutmanıza izin verir; bu da hem KVKK/GDPR uyumunu kolaylaştırır hem de büyüdükçe artan analitik faturalarından sizi kurtarır. IP anonimleştirme ve çerezsiz mod gibi ayarlarla, gizlilik dostu ama güçlü bir ölçüm altyapısına kavuşursunuz.

    Kendi Matomo örneğinizi kurmak için sağlam bir altyapıya ihtiyacınız var. Kaynaklarınıza tam hâkim olmak isterseniz sanal sunucu (VDS) ya da diğer sunucu paketlerimizi inceleyebilir; komut satırıyla uğraşmadan hızlıca başlamak isterseniz App Center üzerinden hazır kurulumları değerlendirebilirsiniz. Kurulumu, güncellemeleri ve güvenliği bizim üstlenmemizi tercih ederseniz sunucu yönetimi hizmetimizle ilgilenmeniz yeterli; gerisini biz hallederiz. Verinizi size ait tutmaya bugün başlayabilirsiniz.

    analitikself-hostedgizlilik

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.