diff --git a/wikibot.py b/wikibot.py
new file mode 100644
index 0000000000000000000000000000000000000000..6a2814c070ea111d7e9589efcd591b54144fcb6f
--- /dev/null
+++ b/wikibot.py
@@ -0,0 +1,27 @@
+# documentation of dokuwiki xmlrpc commands: https://www.dokuwiki.org/devel:xmlrpc
+import config
+from xmlrpc.client import ServerProxy as Proxy, Error as wikiError
+import re
+
+# rename/move a page
+def move_page(original_page, new_page, delete=False):
+	with Proxy(config.WIKI_API_URL) as proxy:
+		# create new page with identical content #
+		page_content = proxy.wiki.getPage(original_page)
+		proxy.wiki.putPage(new_page, page_content, {"sum":"Moved from " + original_page})
+
+		# update back links to new page #
+		backLinks = proxy.wiki.getBackLinks(original_page)
+		reg = rf"\[\[\s*{original_page}\s*\|(.*?)\]\]" # regex for dokuwiki links we want to replace
+		_replacer = lambda matched : "[[" + new_page + "|" + matched.group(1) + "]]" # replace function 
+		for page in backLinks:
+			content = proxy.wiki.getPage(page)
+			content = re.sub(reg, _replacer, content)
+			proxy.wiki.putPage(page, content, {"sum":"Update links from " +original_page+ " to " + new_page})
+
+		# either flag or delete original page #
+		if not delete:
+			proxy.dokuwiki.appendPage(original_page, "\n DELETEME This page was moved to "+ new_page,
+				{"sum":"Moved to " + new_page + " and marked page for deletion"}) 
+		else:
+			proxy.wiki.putPage(original_page, "", {"sum":"Moved to " + new_page}) # deletes original page