From d44a33e63b2f2295ec6d40a7d7742776bdbe9026 Mon Sep 17 00:00:00 2001 From: ToolCTRL Date: Wed, 10 Jun 2026 20:01:21 +0200 Subject: [PATCH] SEO: Favicon 96x96, GameJam-Uploads noindex, og:image-Metadaten - Favicon aus Emblem neu in 96x96 generiert (Google-SERP braucht min. 48x48), Favicon-Links versioniert - /gamejam-games/: X-Robots-Tag noindex + robots.txt Disallow (Fremdcontent) - og:image:width/height/alt auf Start, TechDay und GameJam Co-Authored-By: Claude Opus 4.8 (1M context) --- public/assets/favicon.png | Bin 1083 -> 6247 bytes public/datenschutz.html | 2 +- public/gamejam.html | 5 ++++- public/impressum.html | 2 +- public/index.html | 5 ++++- public/robots.txt | 1 + public/techday.html | 5 ++++- server.js | 9 +++++++-- 8 files changed, 22 insertions(+), 7 deletions(-) diff --git a/public/assets/favicon.png b/public/assets/favicon.png index 39e00f1331f886c91dd444fc214b2154f1c0376d..1961410198acd8a6def4d1c133401d58a6f7dd5f 100644 GIT binary patch literal 6247 zcmWkzbwE>Z7asA^rF4fdT52>>f^@pk-3<~-Gg^>tkVa}K5&}PZib$8BqZ!>TUEk%8 zZGYU|`=0Zj=RD7I-W#W@twKydM*sqWh}Be;^nqWi#}6J3@V%1rP67m?d9J3U0QH~U zF9>pDFzoD;b7XQo3`Es4qQ*Ly-FN+^6lEZAOX z?#b}=6rTD@J~ z#1ks!8nhD5WvH&IqS-w>OxAf>MPjt#o%>QR;-(sI{Se~m?!J$T{EiNugrw@zSu6)7 zVUp<&@-e3p8XV|pyWw-M(+Cm~sd3}F)m?Yefum?r^hu1fM4u-2^}*L5yjj$O&W6GP z9H8Pr&0jp|8C|Y#)y>URlMrJ0Onm}5>y2BTz$D4AHWY#Un}bbU6DA}dw><+*ralQ) zBoa<+Am^o^J|j?`fIvuDBRp{`AF`wnb5lKmTf?HYS=R>8qtx5@eF)XQr32DV#g3 z!PMHXkA;S{QX)l=1?NjR#XD`!>FDVl_5B+$QUt6da{`()>a|#r$;3VXE#2RjiYnyB zw7!Y5B$2_mouKM+{>VB~k*mu6#0Jy0+qPtBp3WP8-4RWzsCiq0$4VhjsptfEV5USq zRkVY*i)!7}^JA^sxOmrpbRaawG=&?6yUQc*yLbL@adRwt(ZFD*p-yqp?*>4W#un4a z1T1mxcwsB!zj~%j-e8FQSx%NRatJ99{!wOUgYc6zO*Raft#1K?L1D^z88$<%ig<+n z1XT^93T6bLAGRJ)vyT8ws$`B+*M^Zx|xS z_xz@8Ws!id|Dx$$0nKQ7*^tu8{f#ze`EM2P!0n|o9D(?``sVLv@EN(;E6j*Tb=l6JCc$Wgj6SZeHbiRI=p_4x$BWg)| z>UMHT__JLh?WU*i4(10m1Ui4lQ}X(s3~(;Mt-~GhSh3?v%_?`Vf7r~L#8+;}k@$k> zWqe<^Pf0|VH5dxtym1K&3XXj`%iaNHy1B?oPP$Pj`%V4nT9}w7>Tlr7~-(>iFNk zzw$&~>-aw0-CX$G-v&Umo>34?EG&$my6^pb%{R9ziz-@MTWJDkO*G{qFlAPrTqi_V zGJ=I=WeYhjdFzik%I$zaqI#?YgMwzd!{jI_DOI_Jw9?@)CoAIiF%Nb5#F>1>E^IM2-vrl7F%Pg?#o_*OLQb@gMYWZ zG1S1|WZ^J0I}(@lWI!i0Z7k%#=ckPjMC+7LizUhkdrGr6ilSIdr)56D%>wKzxwQ^m zr&M0Pzd3YV>+9=vgjQ&4YYSfb(|SJN z>htgXyuokRK+I#lzvN{s@RwHY845+NEc;GtnqQVOnv>LUclnU|?`7M9B@GP?YE3)p z)^b_)kNaD1+b0op&bPk4-j%3=8)YS^YG_E^m(1)4#KXKayoh=nlOG_)KB0!Ciy?iJ54PE?OgI^iz(PRmUiPm}GaCsI&$PL}( z0oFqRTk3yhx<&Ok47{1!$HFBxHWJyqvTKwUC64}KHJ?8#;e|Wr8RxlM9{zh_DF@Tf zTfr!{Q!~-l+)`h8$TnGQ;M;@J%aL>L?QX^@mb59Jz~C2f&1$Ero+zMAYjzB64yTF8 zLDm<PeUOj1hYBw%;!A z;)*6rG$q<ypsVG1{zx5c{#ZNRMCJzyzD33{PvN06O? zeTObq1UBYMI!jN?8t@kz@RRx z>)vQZJcyRhsS;rnd+h}gMh-T-e>*?5@q5&XeKE&Ve7>R5t}Z5X)Q25ZCqvVmnjS43 zosGZ0KVq>yIx#WPr}N~TP#W0g#N_05hu*_gQLVDd%2*{fh1ajiQ&rhr_i9&*1;k(Y zMKKfMwB8)F2izX_onml+s=3t5?Ts}$GA)mDVLNu!xhWamzx!#uV_II7>Ag}>F(;;> zp<$u=@FclUt#Z;>bMR}r$|M8|^GjYN+Q=O&)TM|%K7K>RXM|kr3<_9FRe7((*0s8l z51|}tX!s57utoBblBDU@MvsmJC!8{RKT!KzEWDfi^G8`Y z*Uru^s=i)m{__G_8GVy5KT6xJ;7<*=09O>GmJ{f3rVprz4hE<>PV0t+brZrx zEO^rgQdHS>VVRYMf$^4iJB9#lw#g?YB?)^j${2jL(6Y6Crigcab0ZmW!d_5N@JXMW zEmhTE<;%rYk}-s+hjF2di=eHxy|vgPtiqYDr>7_XMNn2u3=S2)$xlu|NeOm@wbdmOne_m=X7>*DsE^<^O6|; z5lv`ZXQf~;V<$Xtcd;~<#3=0qTRx23`$;RTmxfmb*i&x|7wY1)-> zeXGL-(%HX$y`r9Sf~ZRsfEh^2cH2HuBM>~*(D;J`kJ;H-qh>c_gDMV3GV${*HI-4t zA(1d$&brnNO|AlM9lGeWn)??oUSMNl09gl|&p0k5*qNia1q4*|D1IypD&pDH(~!y> zfs$oT@K#q>AJdh)T_*i^aq-&NSPj6tE2?&Vzd^CLJB! zbdxJJpdDo;B|wFcTU%V5+WBbo_s9cK7Z9TO$Sd^$%Ll3Ni`fE}vd)6u#hv01&KMj;Pet;6NX6rT~}LuHdWc5@)$mL@|$y%=EsaYYaOn?ojuC6X=Ys&*10AL_S#Fy3zgASIF;aH!|+p|1_SLqLe zsp3nIhDFBetiEFcO?kB;-aSyE^>O-}GdW-v(XWfHDZX}`5S(s~IUX){%3Q6bCnP1c z-7nu=aHgqKJvUSJ^E>;*4vF2G-s|7bAHYRA2W82ZX9$(p32$p0c8v1VCF;L^{nFgr z+<-z9W%mb#A}7L;e7i?;*!>{uvoZWe#Yu|J00xV;rja?Hwq=kD&DRNDA)gP}EckbJ zHnF&6xw&X`tC-nL~2~Lbf%CNJyR% zL~rfx+B!MC&&#sW@`lJ&hWS3f3_>Tckq4!rEkxJkC@H`muyRaIWG66+f7zM;U_ zF;tqc=t|VXLO~!TD2Tl1eh2}*-J1@t-Q~0FVlYQZhFn9wc3txTgqV??UFJ*&FvQ@X z`p(Xdg#QuCBYNYMBEE*6)d0RJUA>%!mUiGbW_Oq8*ylw4+E2*m+__JC{%1l8UQ|R0(1XxL9KLE_8*5~4?#e>m*cUrN*Wp; z2xoIe996;T&lCR*Z)pIKt*=jAx<7B(TWF`&n!G&8?%oR>+McY$Fau}M%irEm`0}|r zJL6wsptI{t^}%*DuM|Z5Hil{WhHL;lcAbhy^r%QnOViTOpkwGgife11d!9$HS^^;5 z+SyTr!Awj{{_|SK6cj3*9P^b3a}=gUAP|>;?^Bdv+RQTbuwEa`1l%8Bam_&|QRC73 zo^-f4IC+)c4V(@i@B>`qsXqbz7)Q=YLq}KI)RYNSgQ&-=hagFQXlUrs^r<8>+27w@ zxy^oyGveEDQS1Vl$S@V5qfa*`{``r~NGsRKzLwJaDwdgi* ztM^!tGBGtx)%OO0wkIJu`6dFr_uXpz4<08NA|<8n?#@q4Ox%U> za_r4I^vM{zmz-cFR6(-x9A;>EBW3Fuga*R5Kim29xWW9U&0f1-S{mN0z7q3X)YQ=- z1qfM*?TM6>6rifXd$!EBryC;xLzhl))f**ff+H)OgKt-v9Ra$1q<;~|(WAY_F`&0D zhb-?EftGZ4cL$PqgGOQiRW)6RFD*v!4A`Yf`fMCc+a^CDiM<-}41KAhf(vR{cuRkF zc6NL4uDh(UG2KcqM|wXTN}-&p4+aRw5=v;NMXx#hzWvC?F|u>|OLKE`anEyJ-ba)1 zGM41Yhu$g#qO`g?Zezp2;Iol}r6sdU5<^L8DWq&`{p`cW5v?oJ)Blki@{qZjvB10=-(m~ ztV)qH`rFE;;qOD;Sd+fwN?V&0m4Jl|w|VbjU>}Cm7qcG0amYx)@=tmVZx?qMj1sUt zfWKuae_TIbHiT{xVvf%DjxSBo1W))CFiO9zv+W}RPJcp{93SrQWUjZ$Xkq}q1Sq({ zeNL?FwBYd3f&BeqYA%)`auH?E=@w$5DI|UEfVScWpY;2E6JPXyR-)_ldrdnUdGzb} z4m{&kD?}9OE45EBi!nU$yxSYl_!r)fw#2x}g%X&vRJkRAIW3lyd80q|Sw?1N>o*Ci z568=-VL6X&0*qYsZ}&}p{rWXu*Rn}lL8d6G<&&KA1KZqF<<%d3zflPjT|K?;iQrSGyb4v;6sQ1D1z|1|bXvV|Wpmp~RMY z=H@6y$r|Ni{5R|a=IJYqcGHuun!~IvnQdCSFj#Mc{m?v}ggKdm_X5UY3SwS4);p*# ze~CN}yTVytPj8tsICh7S+rA~o=EMWP1OGFB6Ya?;|2O|*n~3kl(v%6zA)ORt>aAOm z7mRnHLCK_=*TcN-7`r(}8I_-)Qvt`mQd$tY-UhzGp&@*1%mc_tt21AyqJUkf!!uDK z%frGYkxv;FQoS-ylbA23-9YGq4~}kb!|w9slgzz$%6iy5;vSN@El#v-eIyz$ixQ92lO$(e9nxh(%w6#;P-Wx{Vy1hFn z)M>BCGj~PgwnvdwlybG%8wV*rp&S44^Rr1KrhHe5ve1uyl{bvY4y*Np(Ao4kofnk4 zSMsON3E0aa5Uok#p39|^lM}68iRJeN72f9Dr%?`=#lf;@n}c;wYK?WP@mmrj*-ncq zkVrHcLaQ;X#(B095GmXWVTFjeW6ZEdj5_s!sOPMfb(!<`)!g4B?)r7YqU z7n)by70&HCMY4CDHoT2kzDufHv?y~nH7+m66qgXnAcu_vu*=Nk|)PD@=g#cg1sKB z(zVc$pDSWlNW=(+MysY(fMiHa+*(watxe3pcJM>OSMH)4p-^UUZwv;2cN^LBhWku_u-HX=eTjxP$_*R)g$P*Xf>{+GJ#chOu+PY;-xE{G+QAF9> zN{8{^QzXwR#;z2pE)0oxr1H^@C}{CJk7#47NsE5C=<3FX$^X#$$fvLCn2mSDufrBy XBGb`1amK(41dy7two$l6v#9z{*a^##^XYEaq7#QH&*umu&2?c+JKv$abvcBQg?-y!VO_d4qg^%)95j z|DEp4oBzl7c&ASH{O|wXbAIRCbM8F`P@%ZEI7eDq+E5@6kQl@B^E0r~&v;G#M%gFG zG>>bpudmlY2N@LRt&E3~l9HM&77I5VWbs>vOu!Hz)A{Z3@o`QIfRk|#fJu|p|Ia&vQahgkgX z@9zhn&qofFm6Z_~zUKD!HW)6WnsKDNyE{^Xo*=8q{M&A~Ltb7Ucsw4Mn3$lsmX?;_ zy7>5bNd%xuEMfjJpao=OV*@%mI)IfTeRp+rg{)(vBp$(UIS(Qdy9XdOHT6v^fsHPf zn7up#su#x1%}rF{SCYf_d=!sB6~M#8gI=Z40JMo^_)80bQmMV9JZ0IYI|BR|Ug)Xf zx|Ea@hi(8o3U3sCF55T&zs#C>@QS31wBIh?1FBKLyPR)MPfv%&#>Tfe3Q0Er{w5$J zfYQ>^7afJm<$|1?9Ii{^RRCI*fB-OyQPJk+CIOh9o~GBbuC9)_wzd|IkB?z?b{1Av zRw(0(i;L+sU0htGy(J|j1Ym!EAN5(8Ggh;n2=GckWvJ-%^c1?gyUAdFem=Cew$kIn z8W!LU6m?Fg!d=^ZaPA)#Ewf*8+gAB5x{|mzSZw zzMf<>o|&0RkwB%pySrp$XJ-epva)E+_VzYxZEXQ|SlQXxA(bG$hI3jG;N6D(G+H*S?fkTJ3Av~Seh6S9L;8P$fcvys3K!7iM^&6 z0lb@kz$*zo2?ya%^lY8AtGJ{2abN@SoTl-W_xDytCooTE{HO$M7D; zha&Z!1`RNL18?0e@;uKOn~t==TlTBcJ@ZF^0RUl;2-0EYx{d$<002ovPDHLkV1il9 B{ha^+ diff --git a/public/datenschutz.html b/public/datenschutz.html index 760783d..2c4795c 100644 --- a/public/datenschutz.html +++ b/public/datenschutz.html @@ -7,7 +7,7 @@ - + diff --git a/public/gamejam.html b/public/gamejam.html index 09a3967..2c48538 100644 --- a/public/gamejam.html +++ b/public/gamejam.html @@ -13,8 +13,11 @@ + + + - + diff --git a/public/impressum.html b/public/impressum.html index 86cd47a..9bb5d9f 100644 --- a/public/impressum.html +++ b/public/impressum.html @@ -7,7 +7,7 @@ - + diff --git a/public/index.html b/public/index.html index cb29899..a6f6f00 100644 --- a/public/index.html +++ b/public/index.html @@ -16,6 +16,9 @@ + + + @@ -35,7 +38,7 @@ "sameAs": ["https://www.linkedin.com/company/toolctrl/"] } - + diff --git a/public/robots.txt b/public/robots.txt index 3895af2..c88b802 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,4 +1,5 @@ User-agent: * Allow: / +Disallow: /gamejam-games/ Sitemap: https://tool-ctrl.de/sitemap.xml diff --git a/public/techday.html b/public/techday.html index 3352d00..be89f94 100644 --- a/public/techday.html +++ b/public/techday.html @@ -15,6 +15,9 @@ + + + @@ -44,7 +47,7 @@ } } - + diff --git a/server.js b/server.js index b8b624c..6309b7d 100644 --- a/server.js +++ b/server.js @@ -214,10 +214,15 @@ function serveStatic(req, res) { const cacheControl = ext === ".html" ? "no-cache" : "public, max-age=31536000, immutable"; - res.writeHead(200, { + const headers = { "Content-Type": MIME[ext] || "application/octet-stream", "Cache-Control": cacheControl - }); + }; + /* Hochgeladene GameJam-Spiele nicht indexieren (Fremdcontent) */ + if (urlPath.startsWith("/gamejam-games/")) { + headers["X-Robots-Tag"] = "noindex"; + } + res.writeHead(200, headers); fs.createReadStream(filePath).pipe(res); }); }