17 Commits

Author SHA1 Message Date
143962a0fa Merge remote-tracking branch 'origin/feature/issue-16-seo-meta-schema' 2026-05-14 16:17:34 +00:00
04d570cb91 Merge pull request 'Fix #6: Datenschutz-Link im Footer aktualisieren' (#25) from feature/issue-6-datenschutz-link into main
Reviewed-on: #25
2026-05-14 11:23:54 +02:00
Claw AI
8706cb2b70 Merge branch 'main' into feature/issue-6-datenschutz-link
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
2026-05-14 09:21:55 +00:00
Claw AI
3df40952c1 chore: remove pipeline test marker 2026-05-14 09:07:41 +00:00
Claw AI
c467f8cc1e ci: add index.html copy from main page
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
2026-05-14 09:03:03 +00:00
Claw AI
d4a59ee306 ci: fix rsync dependency and permissions in deployment
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-14 09:01:26 +00:00
Claw AI
7be0a2e9d5 test: add pipeline test marker
Some checks failed
Deploy Feature Branch to Test / deploy (push) Failing after 42s
2026-05-14 08:59:26 +00:00
Claw AI
10bc7c1d77 ci: fix volume mount for deployment target 2026-05-14 08:59:16 +00:00
Claw AI
e24db23888 ci: add deploy pipeline for feature branches to test environment 2026-05-14 08:58:55 +00:00
48df09df6c fix: Datenschutz-Link auf /datenschutz mit target=_blank (resolves #6) 2026-05-14 08:42:05 +00:00
Claw (AI)
3bbbe85599 feat(seo): add meta description, canonical, Open Graph and Schema.org JSON-LD
- Add meta description with property details
- Add canonical URL (haus-schleusingen.de placeholder, pending Martin's confirmation)
- Add Open Graph tags (og:type, og:title, og:description, og:image, og:url, og:locale, og:site_name)
- Add Schema.org RealEstateListing structured data (JSON-LD)
- Optimize title tag for SEO
- Create robots.txt with sitemap reference

Ref #16
2026-05-13 23:10:55 +00:00
88780c300a Merge pull request 'Fix #15: Kontaktformular – mailto:-Integration für echte Anfragen' (#20) from feature/issue-15-kontaktformular-backend into main
Reviewed-on: #20
2026-05-14 00:45:55 +02:00
Claw
cc7b2d8d70 fix(kontakt): replace simulated form submit with mailto: link
- Generate mailto: link with all form data on submit
- Opens user's email client with pre-filled email to mki@kies-media.de
- Subject includes interest type, body contains all form fields
- Update success message to reflect email client behavior
- Remove fake setTimeout simulation

Fix #15
2026-05-13 22:39:42 +00:00
ea85280cde Merge pull request 'Fix #11: Kontakt-Section mit Email hinzufügen' (#14) from feature/issue-11 into main
Reviewed-on: #14
2026-05-11 12:50:05 +02:00
958f52fd5d Fix #11: Kontakt-Section mit Email hinzufügen
- Email mki@kies-media.de als direkter Kontaktlink unter dem Formular
- Neues .contact-details CSS passend zum bestehenden Design
- Minimaler Eingriff: bestehendes Design bleibt erhalten
2026-05-11 06:38:28 +00:00
9c68365ab8 Merge pull request 'Fix #4: Impressum-Link im Footer hinzufügen' (#5) from feature/issue-4 into main
Reviewed-on: #5
2026-05-10 23:00:47 +02:00
5b304730fa feat: update Impressum-Link im Footer (Issue #4) 2026-05-10 21:22:14 +02:00
5 changed files with 183 additions and 11 deletions

View File

@@ -0,0 +1,71 @@
name: Deploy Feature Branch to Test
on:
push:
branches:
- "feature/**"
jobs:
deploy:
runs-on: ubuntu-latest
container:
volumes:
- /var/www/test/html:/deploy
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Show branch info
run: |
echo "=== Deploying branch: ${{ gitea.ref_name }} ==="
echo "=== Commit: ${{ gitea.sha }} ==="
echo "=== By: ${{ gitea.actor }} ==="
date
- name: Deploy to test environment
run: |
echo "Syncing files to test environment..."
apt-get update -qq && apt-get install -y -qq rsync > /dev/null 2>&1 || true
rsync -av --delete \
--exclude='.git' \
--exclude='.gitea' \
--exclude='.husky' \
--exclude='.prettierrc' \
--exclude='.prettierignore' \
--exclude='.stylelintrc.json' \
--exclude='.htmlhintrc' \
--exclude='.gitignore' \
--exclude='.dockerignore' \
--exclude='Dockerfile' \
--exclude='nginx.conf' \
--exclude='eslint.config.js' \
--exclude='package.json' \
--exclude='docker-preview.png' \
--exclude='page-preview.png' \
--exclude='screenshot-landingpage*' \
--exclude='AGENTS.md' \
--exclude='README.md' \
./ /deploy/
# Set haus-schleusingen.html as index
cp /deploy/haus-schleusingen.html /deploy/index.html 2>/dev/null || true
echo "✅ Deployment complete!"
- name: Set permissions
run: |
chown -R 33:33 /deploy/ 2>/dev/null || true
chmod -R 755 /deploy/ 2>/dev/null || true
echo "✅ Permissions set"
- name: Deployment summary
run: |
echo "=========================================="
echo " 🚀 Deployment Summary"
echo "=========================================="
echo " Branch: ${{ gitea.ref_name }}"
echo " Commit: ${{ gitea.sha }}"
echo " Target: http://178.104.150.0/"
echo " Time: $(date)"
echo "=========================================="

View File

@@ -928,6 +928,29 @@ nav.scrolled .nav-links a:hover {
color: var(--stone);
}
.contact-details {
text-align: center;
margin-top: 2rem;
padding-top: 1.5rem;
border-top: 1px solid var(--warm);
}
.contact-details p {
font-size: 0.95rem;
color: var(--stone);
}
.contact-details a {
color: var(--accent);
text-decoration: none;
font-weight: 600;
transition: color 0.2s;
}
.contact-details a:hover {
color: var(--accent-light);
}
/* FOOTER */
footer {
background: var(--dark);

View File

@@ -3,7 +3,60 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Einfamilienhaus zur Miete - Schleusingen</title>
<title>Einfamilienhaus mieten Schleusingen | 227 m², 6 Zimmer | 1.300 € Kaltmiete</title>
<meta name="description" content="Einfamilienhaus zur Langzeitmiete in Schleusingen: 227 m² Wohnfläche, 6 Zimmer, 3 Etagen mit Dachterrasse. Kaltmiete 1.300 €. Bahnhofstraße 10, 98553 Schleusingen. Ab sofort verfügbar." />
<link rel="canonical" href="https://haus-schleusingen.de/haus-schleusingen.html" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Einfamilienhaus zur Miete in Schleusingen 227 m², 6 Zimmer" />
<meta property="og:description" content="Großzügiges Einfamilienhaus zur Langzeitmiete: 227 m², 6 Zimmer, 3 Etagen + Dachterrasse. Kaltmiete 1.300 €. Ab sofort verfügbar in Schleusingen." />
<meta property="og:image" content="https://haus-schleusingen.de/bilder/Außenansicht-2.png" />
<meta property="og:url" content="https://haus-schleusingen.de/haus-schleusingen.html" />
<meta property="og:locale" content="de_DE" />
<meta property="og:site_name" content="Haus Schleusingen" />
<!-- Schema.org Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RealEstateListing",
"name": "Einfamilienhaus zur Miete in Schleusingen",
"description": "Großzügiges Einfamilienhaus zur Langzeitmiete: 227 m² Wohnfläche, 6 Zimmer, 3 Etagen mit Dachterrasse. Kaltmiete 1.300 €.",
"url": "https://haus-schleusingen.de/haus-schleusingen.html",
"image": "https://haus-schleusingen.de/bilder/Außenansicht-2.png",
"datePosted": "2026-05-14",
"address": {
"@type": "PostalAddress",
"streetAddress": "Bahnhofstraße 10",
"addressLocality": "Schleusingen",
"postalCode": "98553",
"addressCountry": "DE"
},
"offers": {
"@type": "Offer",
"price": "1300",
"priceCurrency": "EUR",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "1300",
"priceCurrency": "EUR",
"unitCode": "MON",
"description": "Kaltmiete pro Monat"
}
},
"floorSize": {
"@type": "QuantitativeValue",
"value": "227",
"unitCode": "MTK"
},
"numberOfRooms": {
"@type": "QuantitativeValue",
"value": "6"
}
}
</script>
<link rel="stylesheet" href="fonts/fonts.css" />
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<link rel="stylesheet" href="css/haus-schleusingen.css" />
@@ -527,17 +580,20 @@
<div class="form-success" id="formSuccess">
<p>Vielen Dank für Ihre Anfrage!</p>
<br />
<small>Wir melden uns schnellstmöglich bei Ihnen.</small>
<small>Ihr E-Mail-Programm wurde geöffnet. Bitte senden Sie die E-Mail ab, damit Ihre Anfrage bei uns eingeht.</small>
</div>
</div>
<div class="contact-details">
<p>Oder schreiben Sie uns direkt: <a href="mailto:mki@kies-media.de">mki@kies-media.de</a></p>
</div>
</div>
</section>
<footer>
<div class="footer-logo">Bahnhofstraße 10 · Schleusingen</div>
<div class="footer-links">
<a href="#">Impressum</a>
<a href="#">Datenschutz</a>
<a href="/impressum" target="_blank">Impressum</a>
<a href="/datenschutz" target="_blank">Datenschutz</a>
</div>
</footer>

View File

@@ -71,14 +71,33 @@ $(function () {
}
});
// Form submit
// Form submit opens email client with pre-filled mailto: link
$("#contactForm").on("submit", function (e) {
e.preventDefault();
var btn = $(this).find(".btn-submit");
btn.text("Wird gesendet...").prop("disabled", true);
setTimeout(function () {
var fname = $("#fname").val().trim();
var lname = $("#lname").val().trim();
var email = $("#email").val().trim();
var phone = $("#phone").val().trim();
var interest = $("#interest").val();
var message = $("#message").val().trim();
var subject = "Kontaktanfrage: " + interest;
var body = "Von: " + fname + " " + lname + "\n";
body += "E-Mail: " + email + "\n";
if (phone) body += "Telefon: " + phone + "\n";
body += "Anliegen: " + interest + "\n\n";
body += message;
var mailto =
"mailto:mki@kies-media.de" +
"?subject=" + encodeURIComponent(subject) +
"&body=" + encodeURIComponent(body);
window.location.href = mailto;
// Show success message
$("#contactForm").hide();
$("#formSuccess").fadeIn(400);
}, 1200);
});
});

3
robots.txt Normal file
View File

@@ -0,0 +1,3 @@
User-agent: *
Allow: /
Sitemap: https://haus-schleusingen.de/haus-schleusingen.html