{"id":38424,"date":"2026-01-30T20:41:29","date_gmt":"2026-01-30T17:41:29","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38424"},"modified":"2026-01-30T20:41:29","modified_gmt":"2026-01-30T17:41:29","slug":"kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/","title":{"rendered":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma"},"content":{"rendered":"<p><body><\/p>\n<h2>Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma<\/h2>\n<p>Web sitenizin performans\u0131n\u0131 izlemek, kullan\u0131c\u0131 davran\u0131\u015flar\u0131n\u0131 anlamak ve pazarlama stratejilerinizi optimize etmek i\u00e7in analitik veriler hayati \u00f6nem ta\u015f\u0131r. Ancak geleneksel analitik \u00e7\u00f6z\u00fcmleri genellikle gizlilik endi\u015felerini beraberinde getirir ve verilerinizin kontrol\u00fcn\u00fc \u00fc\u00e7\u00fcnc\u00fc taraf \u015firketlere b\u0131rakman\u0131za neden olur. \u0130\u015fte tam bu noktada, a\u00e7\u0131k kaynakl\u0131 ve gizlilik odakl\u0131 bir web analitik arac\u0131 olan Umami devreye giriyor.<\/p>\n<p>Bu rehberde, Umami&#8217;yi DigitalOcean App Platform&#8217;da nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. DigitalOcean App Platform, uygulamalar\u0131 kolayca da\u011f\u0131tmak, \u00f6l\u00e7eklendirmek ve y\u00f6netmek i\u00e7in tasarlanm\u0131\u015f, tam olarak y\u00f6netilen bir hizmettir. Bu kombinasyon, kendi analitik verilerinizin kontrol\u00fcn\u00fc elinizde tutarken, da\u011f\u0131t\u0131m karma\u015f\u0131kl\u0131\u011f\u0131yla u\u011fra\u015fmadan g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h3>Umami Nedir ve Neden Tercih Etmelisiniz?<\/h3>\n<p>Umami, Google Analytics gibi pop\u00fcler ara\u00e7lara gizlilik dostu bir alternatiftir. Temel \u00f6zellikleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Gizlilik Odakl\u0131:<\/b> Hi\u00e7bir ki\u015fisel veri toplamaz, \u00e7erez kullanmaz ve kullan\u0131c\u0131lar\u0131 izlemez. GDPR, CCPA gibi yasalara uyumludur.<\/li>\n<li><b>Basit ve Hafif:<\/b> Minimalist bir aray\u00fcze sahiptir ve web sitenizin performans\u0131n\u0131 etkileyecek ek y\u00fck getirmez.<\/li>\n<li><b>A\u00e7\u0131k Kaynak:<\/b> Kodu herkes taraf\u0131ndan incelenebilir ve g\u00fcvenli\u011fi \u015feffaft\u0131r.<\/li>\n<li><b>Veri Sahipli\u011fi:<\/b> T\u00fcm verileriniz kendi veritaban\u0131n\u0131zda saklan\u0131r, b\u00f6ylece tam kontrole sahip olursunuz.<\/li>\n<li><b>Ger\u00e7ek Zamanl\u0131 Analizler:<\/b> Ziyaret\u00e7ilerinizi ger\u00e7ek zamanl\u0131 olarak takip edebilirsiniz.<\/li>\n<li><b>\u00d6zel Etkinlikler:<\/b> Buton t\u0131klamalar\u0131, form g\u00f6nderimleri gibi \u00f6zel etkinlikleri izleyebilirsiniz.<\/li>\n<\/ul>\n<p>DigitalOcean App Platform ise geli\u015ftiricilere kaynak kodu do\u011frudan ba\u011flayarak uygulamalar\u0131n\u0131 h\u0131zl\u0131ca da\u011f\u0131tma imkan\u0131 sunar. Otomatik derleme, s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD), otomatik \u00f6l\u00e7eklendirme ve veritaban\u0131 entegrasyonu gibi \u00f6zellikleriyle Umami gibi bir uygulamay\u0131 bar\u0131nd\u0131rmak i\u00e7in idealdir.<\/p>\n<h2>\u00d6n Haz\u0131rl\u0131klar ve Gerekli Ara\u00e7lar<\/h2>\n<p>Umami&#8217;yi DigitalOcean App Platform&#8217;da ba\u015far\u0131yla da\u011f\u0131tmak i\u00e7in baz\u0131 \u00f6n haz\u0131rl\u0131klar yapman\u0131z gerekmektedir.<\/p>\n<h3>1. DigitalOcean Hesab\u0131<\/h3>\n<p>Hen\u00fcz bir DigitalOcean hesab\u0131n\u0131z yoksa, <a href=\"https:\/\/www.digitalocean.com\/try\/new-user-coupon\">buradan<\/a> kaydolman\u0131z gerekmektedir. App Platform hizmetlerini kullanmak i\u00e7in bir \u00f6deme y\u00f6ntemi tan\u0131mlaman\u0131z istenecektir.<\/p>\n<h3>2. GitHub Hesab\u0131<\/h3>\n<p>DigitalOcean App Platform, uygulaman\u0131z\u0131n kaynak kodunu GitHub, GitLab veya Bitbucket gibi bir s\u00fcr\u00fcm kontrol sisteminden \u00e7eker. Bu rehberde GitHub kullanaca\u011f\u0131z.<\/p>\n<h3>3. Umami Kaynak Kodunu Forklama<\/h3>\n<p>Umami&#8217;nin en son s\u00fcr\u00fcm\u00fcn\u00fc kendi GitHub hesab\u0131n\u0131za \u00e7atallaman\u0131z (fork) gerekmektedir. Bu, kendi de\u011fi\u015fikliklerinizi yapman\u0131za ve DigitalOcean&#8217;\u0131n bu depodan da\u011f\u0131t\u0131m yapmas\u0131na olanak tan\u0131r.<\/p>\n<ol>\n<li>Umami&#8217;nin <a href=\"https:\/\/github.com\/umami-software\/umami\">resmi GitHub deposuna<\/a> gidin.<\/li>\n<li>Sa\u011f \u00fcst k\u00f6\u015fedeki &#8220;Fork&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n ve kendi hesab\u0131n\u0131za \u00e7atallay\u0131n.<\/li>\n<\/ol>\n<h3>4. (\u0130ste\u011fe Ba\u011fl\u0131) Yerel Kurulum ve Test<\/h3>\n<p>Da\u011f\u0131t\u0131mdan \u00f6nce Umami&#8217;yi yerel ortam\u0131n\u0131zda test etmek isterseniz, Node.js ve npm&#8217;nin y\u00fckl\u00fc olmas\u0131 gerekir.<\/p>\n<pre><code class=\"language-bash\">\n<h2>Forklad\u0131\u011f\u0131n\u0131z depoyu klonlay\u0131n<\/h2>\ngit clone https:\/\/github.com\/S\u0130Z\u0130N_KULLANICI_ADINIZ\/umami.git\ncd umami\n\n<h2>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyin<\/h2>\nnpm install\n\n<h2>Uygulamay\u0131 derleyin<\/h2>\nnpm run build\n\n<h2>Uygulamay\u0131 ba\u015flat\u0131n (yerel bir veritaban\u0131 yap\u0131land\u0131rman\u0131z gerekir)<\/h2>\nnpm start\n    <\/code><\/pre>\n<p>Bu ad\u0131mlar zorunlu de\u011fildir ancak Umami&#8217;nin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlaman\u0131za yard\u0131mc\u0131 olabilir.<\/p>\n<h2>DigitalOcean App Platform&#8217;da Umami Kurulumu<\/h2>\n<p>\u015eimdi Umami&#8217;yi DigitalOcean App Platform&#8217;da canl\u0131ya alma s\u00fcrecine ge\u00e7elim.<\/p>\n<h3>1. Yeni Bir Uygulama Olu\u015fturma<\/h3>\n<ol>\n<li>DigitalOcean kontrol panelinize giri\u015f yap\u0131n.<\/li>\n<li>Sol men\u00fcden &#8220;Apps&#8221; se\u00e7ene\u011fine t\u0131klay\u0131n.<\/li>\n<li>&#8220;Create App&#8221; veya &#8220;Launch your first App&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>&#8220;Connect to your GitHub account&#8221; se\u00e7ene\u011fini se\u00e7in ve DigitalOcean&#8217;\u0131n GitHub hesab\u0131n\u0131za eri\u015fmesine izin verin.<\/li>\n<li>Depo listesinden, daha \u00f6nce \u00e7atallad\u0131\u011f\u0131n\u0131z <code>umami<\/code> deposunu se\u00e7in.<\/li>\n<li>&#8220;Branch&#8221; olarak genellikle <code>main<\/code> veya <code>master<\/code> dal\u0131n\u0131 se\u00e7in.<\/li>\n<li>&#8220;Autodeploy&#8221; se\u00e7ene\u011fini i\u015faretli b\u0131rak\u0131n. Bu, GitHub deponuza her yeni commit g\u00f6nderdi\u011finizde uygulaman\u0131z\u0131n otomatik olarak yeniden da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flar.<\/li>\n<li>&#8220;Next&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<\/ol>\n<h3>2. Kaynaklar\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Bu ad\u0131mda DigitalOcean, Umami uygulaman\u0131z\u0131 alg\u0131layacak ve bir Node.js uygulamas\u0131 olarak yap\u0131land\u0131racakt\u0131r.<\/p>\n<ul>\n<li>DigitalOcean, Umami&#8217;nin bir Node.js uygulamas\u0131 oldu\u011funu otomatik olarak tan\u0131yacakt\u0131r.<\/li>\n<li>&#8220;Build Command&#8221; ve &#8220;Run Command&#8221; alanlar\u0131 genellikle do\u011fru bir \u015fekilde doldurulur:\n<ul>\n<li>Build Command: <code>npm run build<\/code><\/li>\n<li>Run Command: <code>npm start<\/code><\/li>\n<\/ul>\n<p>            Gerekirse bu komutlar\u0131 kontrol edin ve d\u00fczeltin.\n        <\/li>\n<li>&#8220;Edit Plan&#8221; d\u00fc\u011fmesine t\u0131klayarak uygulaman\u0131z i\u00e7in uygun bir plan se\u00e7ebilirsiniz. Ba\u015flang\u0131\u00e7 i\u00e7in &#8220;Basic&#8221; veya &#8220;Professional&#8221; planlar\u0131n\u0131n en d\u00fc\u015f\u00fck seviyesi yeterli olacakt\u0131r. Daha sonra ihtiyac\u0131n\u0131za g\u00f6re \u00f6l\u00e7eklendirebilirsiniz.<\/li>\n<\/ul>\n<h3>3. Veritaban\u0131 Ekleme<\/h3>\n<p>Umami verilerini depolamak i\u00e7in bir veritaban\u0131na ihtiya\u00e7 duyar. DigitalOcean App Platform, y\u00f6netilen veritaban\u0131 hizmetlerini kolayca entegre etmenizi sa\u011flar.<\/p>\n<ol>\n<li>&#8220;Add a Database&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>Veritaban\u0131 t\u00fcr\u00fc olarak <b>PostgreSQL<\/b>&#8216;i se\u00e7in. Umami MySQL ve Postgres&#8217;i destekler, ancak DigitalOcean App Platform&#8217;da Postgres daha yayg\u0131n ve iyi entegre edilmi\u015ftir.<\/li>\n<li>Veritaban\u0131 ad\u0131n\u0131 ve kullan\u0131c\u0131 ad\u0131n\u0131 varsay\u0131lan olarak b\u0131rakabilirsiniz veya de\u011fi\u015ftirebilirsiniz.<\/li>\n<li>&#8220;Next&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n. DigitalOcean, uygulaman\u0131z i\u00e7in otomatik olarak bir PostgreSQL veritaban\u0131 sa\u011flayacak ve gerekli ba\u011flant\u0131 bilgilerini i\u00e7eren bir <code>DATABASE_URL<\/code> ortam de\u011fi\u015fkeni olu\u015fturacakt\u0131r.<\/li>\n<\/ol>\n<h3>4. Ortam De\u011fi\u015fkenlerini Ayarlama<\/h3>\n<p>Umami&#8217;nin \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 ortam de\u011fi\u015fkenleri gereklidir. Bu de\u011fi\u015fkenler hassas bilgileri i\u00e7erdi\u011finden, do\u011frudan kodda de\u011fil, App Platform ayarlar\u0131nda saklanmal\u0131d\u0131r.<\/p>\n<ol>\n<li>&#8220;Environment Variables&#8221; b\u00f6l\u00fcm\u00fcne gelin.<\/li>\n<li>A\u015fa\u011f\u0131daki de\u011fi\u015fkenleri eklemeniz gerekmektedir:\n<ul>\n<li><b><code>DATABASE_URL<\/code>:<\/b> Bu de\u011fi\u015fken, \u00f6nceki ad\u0131mda veritaban\u0131n\u0131 ekledi\u011finizde DigitalOcean taraf\u0131ndan otomatik olarak olu\u015fturulmu\u015f olmal\u0131d\u0131r. E\u011fer yoksa, veritaban\u0131 servisinizin detaylar\u0131ndan kopyalay\u0131p buraya yap\u0131\u015ft\u0131rman\u0131z gerekecektir.<\/li>\n<li><b><code>DATABASE_TYPE<\/code>:<\/b> De\u011fer olarak <code>postgresql<\/code> girin.<\/li>\n<li><b><code>HASH_SALT<\/code>:<\/b> Bu de\u011fi\u015fken, Umami&#8217;nin parolalar\u0131 ve di\u011fer hassas verileri \u015fifrelemek i\u00e7in kulland\u0131\u011f\u0131 rastgele bir dizedir. G\u00fcvenlik i\u00e7in benzersiz ve uzun bir dize olmal\u0131d\u0131r. Terminalinizde a\u015fa\u011f\u0131daki komutu kullanarak g\u00fcvenli bir salt olu\u015fturabilirsiniz:\n<pre><code class=\"language-bash\">\nopenssl rand -base64 32\n                    <\/code><\/pre>\n<p>                    \u00c7\u0131kt\u0131y\u0131 kopyalay\u0131p <code>HASH_SALT<\/code> de\u011fi\u015fkeninin de\u011feri olarak yap\u0131\u015ft\u0131r\u0131n. Bu de\u011feri bir yere kaydetmeyi unutmay\u0131n, \u00e7\u00fcnk\u00fc kaybolursa Umami&#8217;ye eri\u015fiminizde sorun ya\u015fayabilirsiniz.\n                <\/li>\n<\/ul>\n<\/li>\n<li>T\u00fcm de\u011fi\u015fkenleri ekledikten sonra &#8220;Next&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<\/ol>\n<h3>5. Uygulamay\u0131 \u0130nceleme ve Da\u011f\u0131tma<\/h3>\n<p>Son ad\u0131mda, uygulaman\u0131z\u0131n t\u00fcm ayarlar\u0131n\u0131 g\u00f6zden ge\u00e7ireceksiniz.<\/p>\n<ol>\n<li>T\u00fcm ayarlar\u0131n do\u011fru oldu\u011fundan emin olun (repo, dal, komutlar, ortam de\u011fi\u015fkenleri, veritaban\u0131).<\/li>\n<li>&#8220;App Name&#8221; alan\u0131n\u0131 istedi\u011finiz gibi de\u011fi\u015ftirebilirsiniz.<\/li>\n<li>&#8220;Deploy App&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<\/ol>\n<p>DigitalOcean App Platform \u015fimdi Umami uygulaman\u0131z\u0131 derlemeye ve da\u011f\u0131tmaya ba\u015flayacakt\u0131r. Bu i\u015flem birka\u00e7 dakika s\u00fcrebilir. Uygulaman\u0131z ba\u015far\u0131yla da\u011f\u0131t\u0131ld\u0131\u011f\u0131nda, size bir URL sa\u011flanacakt\u0131r.<\/p>\n<h2>Da\u011f\u0131t\u0131m Sonras\u0131 ve Umami Kullan\u0131m\u0131<\/h2>\n<p>Uygulaman\u0131z ba\u015far\u0131yla da\u011f\u0131t\u0131ld\u0131ktan sonra Umami&#8217;yi kullanmaya ba\u015flayabilirsiniz.<\/p>\n<h3>1. Umami Paneline Eri\u015fim<\/h3>\n<p>DigitalOcean kontrol panelinizdeki &#8220;Apps&#8221; b\u00f6l\u00fcm\u00fcnde, da\u011f\u0131tt\u0131\u011f\u0131n\u0131z Umami uygulaman\u0131z\u0131n yan\u0131nda bir URL g\u00f6receksiniz. Bu URL&#8217;ye t\u0131klayarak Umami paneline eri\u015febilirsiniz.<\/p>\n<p>\u0130lk giri\u015f i\u00e7in varsay\u0131lan kullan\u0131c\u0131 ad\u0131 ve parola \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Kullan\u0131c\u0131 Ad\u0131:<\/b> <code>admin<\/code><\/li>\n<li><b>Parola:<\/b> <code>umami<\/code><\/li>\n<\/ul>\n<p><b>\u00d6NEML\u0130:<\/b> Giri\u015f yapt\u0131ktan hemen sonra &#8220;Settings&#8221; (Ayarlar) b\u00f6l\u00fcm\u00fcne giderek varsay\u0131lan parolay\u0131 g\u00fc\u00e7l\u00fc ve benzersiz bir parolayla de\u011fi\u015ftirin. Bu, g\u00fcvenli\u011finiz i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>2. Web Sitenizi Ekleme<\/h3>\n<p>Umami paneline giri\u015f yapt\u0131ktan sonra, izlemek istedi\u011finiz web sitelerini eklemeniz gerekir:<\/p>\n<ol>\n<li>Sol men\u00fcden &#8220;Settings&#8221; (Ayarlar) b\u00f6l\u00fcm\u00fcne gidin.<\/li>\n<li>&#8220;Websites&#8221; (Web Siteleri) sekmesine t\u0131klay\u0131n.<\/li>\n<li>&#8220;Add Website&#8221; (Web Sitesi Ekle) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>Web sitenizin ad\u0131n\u0131 ve alan ad\u0131n\u0131 (domain) girin.<\/li>\n<li>&#8220;Save&#8221; (Kaydet) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<\/ol>\n<p>Yeni ekledi\u011finiz web sitesi i\u00e7in bir izleme kodu (tracking code) olu\u015fturulacakt\u0131r. Bu kodu kopyalaman\u0131z gerekmektedir.<\/p>\n<h3>3. \u0130zleme Kodunu Web Sitenize Ekleme<\/h3>\n<p>Kopyalad\u0131\u011f\u0131n\u0131z Umami izleme kodunu, izlemek istedi\u011finiz web sitesinin her sayfas\u0131n\u0131n <code><head><\/code> etiketinin i\u00e7ine veya <code><body><\/code> etiketinin kapan\u0131\u015f\u0131ndan hemen \u00f6nce yap\u0131\u015ft\u0131r\u0131n. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-html\">\n<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Web Siteniz<\/title>\n    \n    <!-- Umami \u0130zleme Kodu -->\n    <script async src=\"https:\/\/S\u0130Z\u0130N_UMAMI_DOMAIN\u0130N\u0130Z\/script.js\" data-website-id=\"S\u0130Z\u0130N_WEBS\u0130TE_IDN\u0130Z\"><\/script>\n    <!-- Umami \u0130zleme Kodu Biti\u015f -->\n\n<\/head>\n<body>\n    <!-- Web sitenizin i\u00e7eri\u011fi -->\n<\/body>\n<\/html>\n    <\/code><\/pre>\n<p><code>S\u0130Z\u0130N_UMAMI_DOMAIN\u0130N\u0130Z<\/code> yerine DigitalOcean App Platform taraf\u0131ndan verilen Umami uygulaman\u0131z\u0131n URL&#8217;sini, <code>S\u0130Z\u0130N_WEBS\u0130TE_IDN\u0130Z<\/code> yerine ise Umami panelinde web sitenizi ekledi\u011finizde size verilen ID&#8217;yi yap\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h3>4. Verileri G\u00f6r\u00fcnt\u00fcleme<\/h3>\n<p>\u0130zleme kodunu web sitenize ekledikten ve ziyaret\u00e7iler gelmeye ba\u015flad\u0131ktan sonra, Umami paneline geri d\u00f6nerek analitik verilerinizi g\u00f6r\u00fcnt\u00fcleyebilirsiniz. Ger\u00e7ek zamanl\u0131 ziyaret\u00e7ileri, sayfa g\u00f6r\u00fcn\u00fcmlerini, referanslar\u0131 ve daha fazlas\u0131n\u0131 g\u00f6receksiniz.<\/p>\n<h3>Pratik \u0130pu\u00e7lar\u0131<\/h3>\n<ul>\n<li><b>Adblocker Kontrol\u00fc:<\/b> Kendi web sitenizde Umami verilerini g\u00f6rmekte sorun ya\u015f\u0131yorsan\u0131z, taray\u0131c\u0131n\u0131zdaki reklam engelleyicileri (adblocker) devre d\u0131\u015f\u0131 b\u0131rakmay\u0131 deneyin. Baz\u0131 adblocker&#8217;lar Umami&#8217;nin izleme beti\u011fini engelleyebilir.<\/li>\n<li><b>Taray\u0131c\u0131 Konsolu:<\/b> \u0130zleme kodunun do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in taray\u0131c\u0131n\u0131z\u0131n geli\u015ftirici ara\u00e7lar\u0131n\u0131 (F12) a\u00e7\u0131n ve konsol sekmesini kontrol edin. Herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/li>\n<li><b>\u00d6zel Domain:<\/b> DigitalOcean App Platform, uygulaman\u0131z i\u00e7in varsay\u0131lan bir <code>.ondigitalocean.app<\/code> URL&#8217;si sa\u011flar. \u0130sterseniz kendi \u00f6zel alan ad\u0131n\u0131z\u0131 Umami uygulaman\u0131za ba\u011flayabilirsiniz. Bu, DigitalOcean App Platform ayarlar\u0131 alt\u0131nda &#8220;Settings&#8221; -> &#8220;Domains&#8221; b\u00f6l\u00fcm\u00fcnden yap\u0131l\u0131r.<\/li>\n<li><b>Yedekleme:<\/b> DigitalOcean y\u00f6netilen veritabanlar\u0131 otomatik yedeklemeler sunar. Ancak, ek bir \u00f6nlem olarak kendi yedekleme stratejinizi de d\u00fc\u015f\u00fcnebilirsiniz.<\/li>\n<\/ul>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Tebrikler! Kendi gizlilik odakl\u0131 web analitik \u00e7\u00f6z\u00fcm\u00fcn\u00fcz olan Umami&#8217;yi DigitalOcean App Platform&#8217;da ba\u015far\u0131yla da\u011f\u0131tt\u0131n\u0131z. Art\u0131k web sitenizin performans\u0131n\u0131 kendi kontrol\u00fcn\u00fczde, \u00fc\u00e7\u00fcnc\u00fc taraf izleyicilere ba\u011f\u0131ml\u0131 olmadan izleyebilirsiniz. Bu kurulum, size veri sahipli\u011fi, kolay y\u00f6netim ve DigitalOcean&#8217;\u0131n g\u00fc\u00e7l\u00fc altyap\u0131s\u0131n\u0131n avantajlar\u0131n\u0131 sunar.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>1. Neden Umami yerine Google Analytics kullanmal\u0131y\u0131m?<\/h4>\n<p>Temel fark gizliliktir. Umami hi\u00e7bir ki\u015fisel veri toplamaz, \u00e7erez kullanmaz ve kullan\u0131c\u0131lar\u0131 izlemez, bu da GDPR gibi d\u00fczenlemelere uyumu kolayla\u015ft\u0131r\u0131r. Google Analytics ise kapsaml\u0131 veri toplar ve genellikle \u00e7erezlere dayan\u0131r, bu da gizlilik endi\u015feleri yaratabilir.<\/p>\n<h4>2. DigitalOcean App Platform Umami i\u00e7in neden iyi bir se\u00e7im?<\/h4>\n<p>App Platform, geli\u015ftiricilerin kodlar\u0131n\u0131 do\u011frudan da\u011f\u0131tmas\u0131na, y\u00f6netilen veritaban\u0131 ve CI\/CD gibi \u00f6zelliklerle uygulamalar\u0131 kolayca \u00e7al\u0131\u015ft\u0131rmas\u0131na olanak tan\u0131r. Umami gibi bir Node.js uygulamas\u0131n\u0131 h\u0131zl\u0131ca canl\u0131ya almak ve s\u00fcrd\u00fcrmek i\u00e7in idealdir.<\/p>\n<h4>3. Umami kullanmak \u00fccretsiz mi?<\/h4>\n<p>Evet, Umami a\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131md\u0131r ve kullan\u0131m\u0131 \u00fccretsizdir. Ancak, onu bar\u0131nd\u0131rmak i\u00e7in DigitalOcean App Platform gibi bir hizmetin maliyetleri olacakt\u0131r. Maliyetler, se\u00e7ti\u011finiz plan ve kaynak kullan\u0131m\u0131n\u0131za ba\u011fl\u0131 olarak de\u011fi\u015fir.<\/p>\n<h4>4. Umami i\u00e7in hangi veritaban\u0131n\u0131 kullanmal\u0131y\u0131m?<\/h4>\n<p>Umami hem PostgreSQL hem de MySQL&#8217;i destekler. Bu rehberde DigitalOcean App Platform ile iyi entegre oldu\u011fu i\u00e7in PostgreSQL kulland\u0131k. Genellikle PostgreSQL, modern web uygulamalar\u0131 i\u00e7in daha g\u00fc\u00e7l\u00fc ve esnek bir se\u00e7enektir.<\/p>\n<h4>5. Umami&#8217;yi nas\u0131l g\u00fcncelleyebilirim?<\/h4>\n<p>Umami&#8217;nin yeni bir s\u00fcr\u00fcm\u00fc \u00e7\u0131kt\u0131\u011f\u0131nda, kendi \u00e7atallad\u0131\u011f\u0131n\u0131z (forked) GitHub deponuzu orijinal Umami deposuyla senkronize etmeniz gerekir. Deponuzu g\u00fcncelledikten sonra, DigitalOcean App Platform&#8217;daki otomatik da\u011f\u0131t\u0131m (autodeploy) \u00f6zelli\u011fi sayesinde uygulaman\u0131z otomatik olarak en son s\u00fcr\u00fcme g\u00fcncellenecektir.<\/p>\n<h4>6. DigitalOcean App Platform maliyetleri ne kadar olacak?<\/h4>\n<p>Maliyetler, uygulaman\u0131z i\u00e7in se\u00e7ti\u011finiz plan (Basic, Professional) ve kulland\u0131\u011f\u0131n\u0131z kaynak miktar\u0131na (CPU, RAM, bant geni\u015fli\u011fi, veritaban\u0131 boyutu) g\u00f6re de\u011fi\u015fir. K\u00fc\u00e7\u00fck bir Umami kurulumu i\u00e7in ba\u015flang\u0131\u00e7ta ayda birka\u00e7 dolardan ba\u015flayan maliyetler olabilir. DigitalOcean&#8217;\u0131n fiyatland\u0131rma sayfas\u0131n\u0131 kontrol ederek daha detayl\u0131 bilgi edinebilirsiniz.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma\n    Web sitenizin performans\u0131n\u0131 izlemek, kullan\u0131c\u0131 dav","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1401],"tags":[],"class_list":{"0":"post-38424","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-git","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#039;da Da\u011f\u0131tma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#039;da Da\u011f\u0131tma\" \/>\n<meta property=\"og:description\" content=\"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#039;da Da\u011f\u0131tma   Web sitenizin performans\u0131n\u0131 izlemek, kullan\u0131c\u0131 dav\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-30T17:41:29+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma\",\"datePublished\":\"2026-01-30T17:41:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\"},\"wordCount\":1983,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Git\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\",\"name\":\"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform'da Da\u011f\u0131tma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-30T17:41:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform'da Da\u011f\u0131tma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/","og_locale":"tr_TR","og_type":"article","og_title":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform'da Da\u011f\u0131tma","og_description":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform'da Da\u011f\u0131tma   Web sitenizin performans\u0131n\u0131 izlemek, kullan\u0131c\u0131 dav","og_url":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-30T17:41:29+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma","datePublished":"2026-01-30T17:41:29+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/"},"wordCount":1983,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Git"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/","url":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/","name":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform'da Da\u011f\u0131tma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-30T17:41:29+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-web-analitik-yaziliminizi-umami-ile-digitalocean-app-platformda-dagitma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kendi Web Analitik Yaz\u0131l\u0131m\u0131n\u0131z\u0131 Umami ile DigitalOcean App Platform&#8217;da Da\u011f\u0131tma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38424"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38424\/revisions"}],"predecessor-version":[{"id":38425,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38424\/revisions\/38425"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}