Processwire Sort Pages using API
<?php
// move to beginning
$pages->sort($page, 0);
// move to end
$lastSibling = $page->siblings('include=all')->last();
$pages->insertAfter($page, $lastSibling);
// move 1 step forward
$pages->insertAfter($page, $page->next);
// move 1 step backwards
$pages->insertBefore($page, $page->prev);
// move to any index position
$newIndex = 0;
if ($newIndex === 0) $pages->sort($page, 0);
else {
$futureBefore = $page->siblings('include=all')->eq($newIndex);
$futureBefore = $futureBefore? $futureBefore : $page->siblings('include=all')->last();
$pages->insertAfter($page, $futureBefore);
}